gpt4 book ai didi

java - MigLayout 表单类型结构问题

转载 作者:行者123 更新时间:2023-12-04 04:59:49 25 4
gpt4 key购买 nike

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

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

+-----------------------------------------------+
| |
| 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);

这就是问题的视觉效果,这是标签和文本字段之间的空间。

out of line

如何使用 MigLayout 实现此布局?

最佳答案

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

这应该可以解决问题:

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");

关于java - MigLayout 表单类型结构问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16289801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com