MigLayout奇怪的对齐顶级行为

时间:2013-04-30 21:41:03

标签: java swing miglayout

我没有很多迁移经验,所以请指教。我有一个布局,其中第一列是JCheckBox,跨越2行。第二列有2个JLabel,每行1个。

默认布局似乎是复选框在2行的中心垂直对齐。我希望它与顶部JLabel中的文字保持一致,因此我在aligny top上使用了JCheckBox

rightSubPanel.add(stepCheck,"span 1 2, aligny top");
rightSubPanel.add(stepTitle);
rightSubPanel.add(subTitle, "gapleft 40");

JCheckbox仍略低于相邻JLabel中的文字。

见附图:

misaligned checkboxes

任何人都可以解释这个或提出更好的方法吗?

更新使用调试布局如下所示。解决方案是在每个stepTitles上方添加一个5像素的间隙,例如:

rightSubPanel.add(stepTitle,"gaptop 5");

enter image description here

1 个答案:

答案 0 :(得分:1)

在MigLayout的构造函数中添加debug标记。这将显示每个元素周围的边框。我假设你的例子中的stepCheck是复选框加“STEP 1:”。 aligny top将对齐元素的最顶端。我想复选框周围有一些额外的边框,因此它的可见部分不在顶部。您可以在stepTitle元素周围添加空边框以实现相同的目的。