当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);
}
}
答案 0 :(得分:3)
您可以使用CENTER
的{{1}}和SOUTH
约束:
BorderLayout
不应切割南部。