带有空单元格的Java gridlayout

时间:2009-09-03 08:12:07

标签: java user-interface swing

我想在Java GUI中显示某些文件的状态。每个文件都有一个标签和一个按钮,按钮的颜色代表文件的状态,单击执行各种操作。这一切都有效,问题是他们没有正确显示。我希望它显示为

[Label 1] [File 1] [File 2] [Label 2]
[Label 3] [File 3] [File 4] [Label 4]
etc.

为此,我制作了一个带有GridLayout的面板

 new JPanel(new GridLayout((list.size() + 1) /2,4,3,3));

除非有奇数个文件,否则此方法有效。然后网格调整自身大小,例如3个文件我将获得2x3网格,因此标签2显示在下一行。如果我检查一个奇数,然后在所有其他控件之后添加2个新的JPanel,它会正确显示,但我想知道是否有更好的方法。

由于

2 个答案:

答案 0 :(得分:1)

查看GridLayout.setColumns的JavaDoc,似乎没有指定行数可以治愈你的弊病。

  

将此布局中的列数设置为指定值。 如果构造函数或setRows方法指定的行数不为零,则设置列数对布局没有影响。在这种情况下,布局中显示的列数为由组件总数和指定的行数确定。 (我的重点)

试试这个:

new JPanel(new GridLayout(0,4,3,3));

答案 1 :(得分:-1)

  

我想知道是否有更好的   这样做的方式。

是的,请使用MiGLayout