何らかの理由で、別のパネルの内側にあるパネルを垂直方向に中央に配置するのに問題があります。私は私が研究した例とまったく同じようにしていますが、それでも運がありません。
そこに私のコードがあります。コンテナパネルで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");