java - miglayout关于列的问题

标签 java swing miglayout javabuilders

我在列中有一些控件,我希望它们看起来像这样,但有一行是异常(exception):

+----+------------------+----+--------------------+
| X1 | Y1               | X5 | Y5                 |
+----+------------------+----+--------------------+
| X2 | Y2               | X6 | Y6                 |
+----+------------------+----+--------------------+
| X3 | Y3               | X7 | Y7                 |
+----+-----+------------+----+--------------------+
| Special1 |  Special 2 with long description     |
+----+-----+------------+----+--------------------+
| X4 | Y4               | X8 | Y8                 |
+----+------------------+----+--------------------+

我想知道如何使用 MigLayout 来做到这一点。我正在使用 Swing JavaBuilders 及其压缩的 YAML 语法:

X1        Y1               X5    Y5
X2        Y2               X6    Y6
X3        Y3               X7    Y7
Special1     Special2
X4        Y4               X8    Y8

我基本上想做的是使一行(Special1/Special2)成为异常(exception),但我不确定如何做到这一点(上面的 YAML 片段不正确)。

最佳答案

这应该可以做到:

public static void main(String[] args)
{
    JFrame frame = new JFrame("Test");
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.setPreferredSize(new Dimension(400, 250));

    Container cp = frame.getContentPane();
    cp.setLayout(new MigLayout("fill, debug"));

    String wrap = "wrap,";
    String span2 = "spanx 2,";
    String span3 = "spanx 3,";

    cp.add(new JLabel("X1"));
    cp.add(new JLabel("Y1"), span2);
    cp.add(new JLabel("X5"));
    cp.add(new JLabel("Y5"), wrap);
    cp.add(new JLabel("X2"));
    cp.add(new JLabel("Y2"), span2);
    cp.add(new JLabel("X6"));
    cp.add(new JLabel("Y6"), wrap);
    cp.add(new JLabel("X3"));
    cp.add(new JLabel("Y3"), span2);
    cp.add(new JLabel("X7"));
    cp.add(new JLabel("Y7"), wrap);
    cp.add(new JLabel("Special 1"), span2);
    cp.add(new JLabel("Special 2 with long description"), span3 + wrap);
    cp.add(new JLabel("X4"));
    cp.add(new JLabel("Y4"), span2);
    cp.add(new JLabel("X7"));
    cp.add(new JLabel("Y8"));

    frame.pack();
    frame.setVisible(true);
}

享受。

关于java - miglayout关于列的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4080195/

相关文章:

java - 需要使用 bouncycaSTLe 在 Java 中将 "expand"AES 256 key 转换为 10 个圆形 key

java - n 个线程的循环屏障也可以处理 n*2 个线程

java - 我可以将 CSS 应用于 swing 文本组件吗?

java - 如何摆脱 Java 中 MigLayout 的自动插入?

java - MigLayout - 使用多个约束

java - 使用 MigLayout 将两个组件叠放在一起

java - 关于Processor接口(interface)的process(...)方法中定义的参数

java - 在浏览器/多个页面上显示 100000 条记录

java - Jtextfield 和 keylistener

java - Swing Worker 和 GUI 更新