以下代码会使用JDialog
创建BoxLayout
。
public static void main(String[] args) {
// TODO Auto-generated method stub
Border border1 = BorderFactory.createLineBorder(Color.GREEN, 5);
JDialog j7=new JDialog();
JPanel j8=new JPanel();
JButton j10=new JButton("OK");
BoxLayout c1=new BoxLayout(j8,1);
j8.setLayout(c1);
j8.setBorder(border1);
JLabel j9=new JLabel("Yeeks!!Game was about to crash.We managed it.Numbers Only!");
j9.setFont(new Font("Serif", Font.BOLD, 25));
j8.add(j9);
j8.add(j10,1);
j7.add(j8);
Dimension d=new Dimension(710,200);
j7.setSize(d);
j7.setTitle("Humans");
j7.setEnabled(true);
j7.setVisible(true);
j7.setLocation(400, 200);
}
如何将JButton
?
另一个问题是,当我更改JDialog的大小时,组件没有调整大小。
答案 0 :(得分:2)
在框架/对话框中居中组件的最简单方法是使用GridBagLayout。
JPanel panel = new JPanel( new GridBagLayout() );
panel.add(new JButton("Centered"), new GridBagConstraints());
frame.add(panel, BorderLayout.CENTER);
如果你想使用BoxLayout,那么你需要在第一个组件之前和之后添加“glue”。有关详细信息,请阅读How to Use BoxLayout上的Swing教程中的部分。