我将JFrame
实例的布局设置为new GridBagLayout()
。我想在我的布局中添加JTable
,但gridheight
属性似乎无法正常工作:
JFrame frame = new JFrame("GUI Test");
JTable tblTestTable = new JTable(new Object[][] { {"Bar", "Foo"} }, new Object[] { "Foo", "Bar" });
GridBagConstraints c = new GridBagConstraints() {{
anchor = GridBagConstraints.WEST;
insets = new Insets(2, 5, 2, 5);
weightx = 1;
weighty = 1;
}};
c.fill = GridBagConstraints.BOTH;
c.gridx = 2;
c.gridy = 0;
c.gridheight = 3; // Doesn't work
frame.add(tblTestTable, c);
frame.pack();
frame.setVisible(true);
这是我的一小段代码。即使我将tblTestTable
设置为gridheight
,布局管理器也会将3
呈现为只有1行的元素。如果gridheight
大于gridx
,我会阅读有关0
无法正常工作的内容,但我无法找到解决方法。是否已经有一个技巧可以绕过这个?
答案 0 :(得分:2)
请确保使用您刚刚构建的约束作为方法add()
的参数,以便应用约束,例如
frame.add(tblTestTable, c);
(thx user432)