我有一个从文档生成的面板。我不知道我将添加多少字段和标签,我希望它可以制作两列标签和字段。我怎么认为我能做到这一点是使用GridBagLayout并获得GridBagConstraints,但我无法弄清楚如何做到这一点。任何人都知道如何从JPanel / JFrame中取回GridBagConstraints?
如果没有,我们将非常感谢您提出的任何替代方案。
答案 0 :(得分:4)
我有一个从文档生成的面板。我完全不知道 我将添加多少个字段和标签,我希望它可以制作两个 标签和字段的列。我怎么认为我能做到这一点 GridBagLayout并获取GridBagConstraints,但我无法想象 如何做到这一点。任何人都知道如何获得GridBagConstraints 超出JPanel / JFrame?
您需要在添加到容器的组件中循环
将currenet布局带到临时变量(我认为JLabel和JTextFields放在JPanel中)
e.g。
Component[] comps = panel.getComponents();
GridBagLayout layout = (GridBagLayout) panel.getLayout();
for (int i = 0; i < comps.length; ++i) {
Component comp = comps[i];
GridBagConstraints gbc = layout.getConstraints(comp);
System.out.println("Component : " + comp + " , with GBC: " + gbc);
}
您可以建议的任何替代方案都将非常感谢。