1

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

似乎默认布局是复选框在 2 行的中心垂直对齐。我希望它与顶部的文本对齐JLabel,所以我aligny topJCheckBox.

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

然而,JCheckbox仍然略低于相邻的文本JLabel

见附图:

未对齐的复选框

谁能解释这一点或提出更好的方法来做到这一点?

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

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

在此处输入图像描述

4

1 回答 1

1

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

于 2013-06-13T19:34:45.307 回答