【问题标题】:MigLayout form type structure issueMigLayout 表单类型结构问题
【发布时间】:2013-04-23 18:39:53
【问题描述】:

我正在尝试使结构整齐居中,但标签和字段之间的间距不相等,我想我可能不得不使用两列而不是合并它们。

这就是我想要实现的目标:

+-----------------------------------------------+
|                                               |
|            lbl1 [    txt1     ]               |
|            lbl2 [    txt2     ]               |
|            lbl3 [    txt3     ]               |
|            lbl4 [    txt4     ]               |
|                 [btn5][btn6]                  |
|                                               |
|                                               |
|                                               |
|                                               |
+-----------------------------------------------+

这是我当前的代码:

contentPane.setLayout(new MigLayout("fill","center"));    
contentPane.add(lbl1, "split 2, span");
contentPane.add(txt1, "wrap");
contentPane.add(lbl2, "split 2, span");
contentPane.add(txt2, "wrap");
contentPane.add(lbl3, "split 2, span");
contentPane.add(txt3, "wrap");
contentPane.add(lbl4, "split 2, span");
contentPane.add(txt4, "wrap");
contentPane.add(btn5, "split 2, span");
contentPane.add(btn6);

这是问题的视觉外观,这是标签和文本字段之间的空格。

如何使用 MigLayout 实现这种布局?

【问题讨论】:

    标签: java swing layout miglayout


    【解决方案1】:

    问题在于“拆分 2”属性。通过传递该属性,您将拆分 JLabels 所在的单元格。所以一个 JLabel 和一个 JTextField 适合一个单元格。由于 JLabels 具有不同的大小(在不同长度的文本期间),因此您具有不等空间的效果。

    这应该可以解决问题:

    contentPane.setLayout(new MigLayout("center"));
    contentPane.add(lbl1, "alignx trailing");
    contentPane.add(txt1, " wrap");
    contentPane.add(lbl2, "alignx trailing");
    contentPane.add(txt2, "wrap");
    contentPane.add(lbl3, "alignx trailing");
    contentPane.add(txt3, " wrap");
    contentPane.add(lbl4, "alignx trailing");
    contentPane.add(txt4, " wrap");
    contentPane.add(btn5, "skip, split2, growx");
    contentPane.add(btn6,"growx");
    

    【讨论】:

    • 根据您提供的示例,我设法根据自己的喜好对其进行了调整,主要的重要部分是alignx trailingthank-you。
    猜你喜欢
    • 2016-07-30
    • 2011-10-16
    • 1970-01-01
    • 2019-08-11
    • 2017-10-08
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    相关资源
    最近更新 更多