GridBagConstraints.gridheight无法正常工作

时间:2014-05-26 17:41:27

标签: java swing gridbaglayout

我将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无法正常工作的内容,但我无法找到解决方法。是否已经有一个技巧可以绕过这个?

1 个答案:

答案 0 :(得分:2)

请确保使用您刚刚构建的约束作为方法add()的参数,以便应用约束,例如

frame.add(tblTestTable, c);

(thx user432)

相关问题