【发布时间】:2014-04-03 13:33:27
【问题描述】:
我有两个 Java 类:
- class1 调用 class2 的多个实例。
- class2 扩展 JPanel
所以我想在class1中设置
GridBagLayout,这样我就可以将class2的实例添加到列表中。
我的代码如下:
第一类
class2 one = new class2();
class2 two = new class2();
this.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = new Insets(6,2,6,40);
gbc.gridx = 0;
this.add(new JLabel("Name"), gbc);
gbc.gridx = 1;
this.add(new JLabel("Surname"), gbc);
gbc.gridx = 2;
this.add(new JLabel("Age"), gbc);
gbc.gridx = 0;
gbc.gridy = 1;
this.add(one, gbc);
gbc.gridy = 2;
this.add(two, gbc);
Class2 扩展了 JPanel
this.setLayout(new GridBagLayout());
GridBagConstraints gridBagCons = new GridBagConstraints();
gridBagCons.insets = new Insets(6,2,6,4);
gridBagCons.gridx = 0;
this.add(new JTextField(10), gridBagCons);
gridBagCons.gridx = 1;
this.add(new JTextField(10), gridBagCons);
gridBagCons.gridx = 2;
this.add(new JTextField(10), gridBagCons);
所以,它不起作用,它显示了我想要的标题:姓名、姓氏和年龄,以及从 class2 导入的其他两个面板,位于 class1 的 GridBagLayout 的第一列中。 我想将标题与从 class2 导入的文本字段对齐。
请你帮我看看。
【问题讨论】:
-
在您发布 SSCCE / MCVE / MCTRE、简短、可运行、可编译的情况下,这可能是一个关于嵌套布局的好问题
-
你能画出或解释一下你想要的样子吗?
-
@mKorbel 我已经稍微修改了问题,所以更清楚了。我现在需要将 class1 的标题与 class2 的文本字段对齐
标签: java swing gridbaglayout