我一直在使用 GridBagLayout 学习 Java Swing。
我有一个主 JFrame 并添加主 JPanel,然后我将后续 JPanel/组件添加到该主 JPanel。
但我添加的任何内容总是位于主面板的中心(包括调整大小时),这不是想要的结果。
只是核心代码的一小段:
getContentPane().setLayout(new GridBagLayout());
JPanel panel = new JPanel(new GridBagLayout());
getContentPane().add(panel);
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.NORTHWEST;
JTextField nameField = new JTextField(10);
panel.add(nameField, gbc)
如有任何反馈,我们将不胜感激。
最佳答案
以后遇到问题发个SSCCE。一小段代码通常无济于事。
阅读 How to Use GridbagLayout 上的 Swing 教程部分. “weightx/weighty”部分将解释为什么会发生这种情况。
关于Java Swing GridBagLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15845855/