我有一个panel
,我希望内容在其中垂直显示。为此,我正在使用这行代码:
rightPanel.setLayout(new BoxLayout(rightPanel, BoxLayout.Y_AXIS));
当我使用textfields
时,我希望他们占用一条线。但是通过使用上面指定的代码行,textfields
面板内部会最大化,并且当我更改窗口大小时,相应textfield
更改的大小。我也尝试将其删除,但是面板内的内容会水平显示并且不适合面板内。
这是结果的图像:
这是创建面板内容的代码:
//Creates the form for data and button to save it.
final TextField name;
final TextField eMail;
final TextField dateOfBirth;
final TextField address;
JLabel nameLabel = new JLabel("Name:");
name = new TextField ();
JLabel eMailLabel = new JLabel("E-mail:");
eMail = new TextField ();
JLabel dateOfBirthLabel = new JLabel("Date of birth:");
dateOfBirth = new TextField ();
JLabel addressLabel = new JLabel("Address:");
address = new TextField ();
rightPanel.add(nameLabel);
rightPanel.add(name);
rightPanel.add(eMailLabel);
rightPanel.add(eMail);
rightPanel.add(dateOfBirthLabel);
rightPanel.add(dateOfBirth);
rightPanel.add(addressLabel);
rightPanel.add(address);
rightPanel.add(Box.createRigidArea(new Dimension(20, 20)));
JButton save = new JButton("Save");
rightPanel.add(save);