【问题标题】:Java gridlayout with empty cells带有空单元格的 Java 网格布局
【发布时间】:2009-09-03 08:12:06
【问题描述】:

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

[标签 1] [文件 1] [文件 2] [标签 2]
[标签 3] [文件 3] [文件 4] [标签 4]
等等

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

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

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

谢谢

【问题讨论】:

    标签: java user-interface swing


    【解决方案1】:

    查看GridLayout.setColumns 的JavaDoc,看来不指定行数会治愈你的弊病。

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

    试试这个:

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

    【讨论】:

      【解决方案2】:

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

      是的,使用MiGLayout

      【讨论】:

      • 对不起,不是一个选项。首先,该网站被我工作的防火墙阻止,我没有权限安装它。它必须是标准 java 库中的东西。
      猜你喜欢
      • 1970-01-01
      • 2017-12-14
      • 2019-05-21
      • 1970-01-01
      • 2012-03-01
      • 2018-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多