由于某些原因,我的问题是我的面板垂直位于另一个面板内。我完全按照我研究的例子做,但仍然没有运气。Java中的定心面板
下面是我的代码。尽管在我的容器面板上使用setAlignmentY(0.5f),但当我调整窗口大小时,它仍然不会居中。
尽管setAligenmentX(0.5f),容器面板内的组件也不会居中。
我不知道是否有解决方案,我几乎尝试了所有的东西,但没有找到解决方案。
JLabel idLabel;
JLabel passLabel;
JTextField id;
JTextField pass;
JButton enter;
JPanel container;
public JournalLogin()
{
//setLayout(new FlowLayout());
//setPreferredSize(new Dimension(500, 500));
//setBorder(BorderFactory.createEmptyBorder(100, 100, 100, 100));
container = new JPanel();
container.setLayout(new MigLayout());
container.setAlignmentX(0.5f);
container.setAlignmentY(0.5f);
container.setPreferredSize(new Dimension(300, 300));
container.setBorder(BorderFactory.createTitledBorder("Login"));
add(container);
idLabel = new JLabel("ID:");
idLabel.setAlignmentX(0.5f);
container.add(idLabel);
id = new JTextField();
id.setText("id");
id.setAlignmentX(0.5f);
id.setPreferredSize(new Dimension(80, 20));
container.add(id, "wrap");
非常感谢,使用GridBagLayout解决了我的问题。 虽然我仍然无法弄清楚setAlignmentX和setAlignmentY应该做什么。 – harbinger 2012-08-06 21:30:50