我想在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,它会正确显示,但我想知道是否有更好的方法。
由于
答案 0 :(得分:1)
查看GridLayout.setColumns的JavaDoc,似乎没有指定行数可以治愈你的弊病。
将此布局中的列数设置为指定值。 如果构造函数或setRows方法指定的行数不为零,则设置列数对布局没有影响。在这种情况下,布局中显示的列数为由组件总数和指定的行数确定。 (我的重点)
试试这个:
new JPanel(new GridLayout(0,4,3,3));
答案 1 :(得分:-1)
我想知道是否有更好的 这样做的方式。
是的,请使用MiGLayout。