Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Don';当JDialog调整大小时,不要剪切底部面板_Java_Swing_Layout Manager_Jdialog - Fatal编程技术网

Java Don';当JDialog调整大小时,不要剪切底部面板

Java Don';当JDialog调整大小时,不要剪切底部面板,java,swing,layout-manager,jdialog,Java,Swing,Layout Manager,Jdialog,当JDialog调整到较小的大小时,它将从下到上剪切。 但如何使其成为底部将是“更高的优先级”,JDialog将首先切割顶部,而不切割底部 调整大小之前: 调整大小后(顶部面板正常,但底部面板被剪切): 在这种情况下,我想顶部面板被削减和底部面板是好的 资料来源: import java.awt.BorderLayout; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JDialog;

JDialog
调整到较小的大小时,它将从下到上剪切。 但如何使其成为底部将是“更高的优先级”,JDialog将首先切割顶部,而不切割底部

调整大小之前:

调整大小后(顶部面板正常,但底部面板被剪切):

在这种情况下,我想顶部面板被削减和底部面板是好的

资料来源:

import java.awt.BorderLayout;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;

@SuppressWarnings("serial")
public class DlgTest extends JDialog {
    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        try {
            DlgTest dialog = new DlgTest();
            dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
            dialog.setVisible(true);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * Create the dialog.
     */
    public DlgTest() {
        setBounds(100, 100, 450, 300);
        JPanel mainPanel = new JPanel(new BorderLayout());
        JPanel top = new JPanel(new FlowLayout());
        top.add(new JButton("t1"));
        top.add(new JButton("t2"));

        JPanel bottom = new JPanel(new FlowLayout());
        bottom.add(new JButton("b1"));
        bottom.add(new JButton("b2"));
        mainPanel.add(top, BorderLayout.PAGE_START);
        mainPanel.add(bottom, BorderLayout.PAGE_END);
        add(mainPanel);
    }

}

您可以使用
BorderLayout
CENTER
SOUTH
约束:

mainPanel.add(top, BorderLayout.CENTER);
mainPanel.add(bottom, BorderLayout.SOUTH);

南部部分不应切割。

您可以使用
边界布局的
中心
南部
约束:

mainPanel.add(top, BorderLayout.CENTER);
mainPanel.add(bottom, BorderLayout.SOUTH);
南部不应该被切断