【发布时间】:2012-08-28 09:12:50
【问题描述】:
有时我需要复选框的标签位于复选框的左侧而不是右侧,而不是使用
JCheckBox checkbox = new JCheckBox("label",false);
我愿意:
JCheckBox checkbox = new JCheckBox("",false);
JLabel label = new JLabel("label");
GroupLayout.ParallelGroup vp1 = layout.createBaselineGroup(false, false);
vp1.addComponent(checkbox);
vp1.addComponent(label);
(我正在使用 GroupLayout) 但它们没有正确垂直对齐,我也尝试过
=layout.createParallelGroup(GroupLayout.Alignment.CENTER);
看起来不错,但与使用单个复选框仍然不同 以及其他各种选项,是否有可能获得相同的对齐方式?
【问题讨论】:
-
为什么不使用setHorizontalTextPosition?
-
我同意@MadProgrammmer,这是setHorizontalTextPosition 的责任
-
我的 2cents 可能不是一个选项 - 如果你有一点机会:去外部 LayoutManager
-
@MadProgrammer,辉煌没有意识到这种方法存在,是的,这就是我应该并且将使用的。虽然仍然(有点)感兴趣,如果这可以用我不正确的方法来完成。
-
@PaulTaylor 我会听从 kleopatra 的建议。是的,它可以做到。我会将标签和复选框放在自己的窗格中并使用
GridBagLayout之类的东西,但在这种情况下这可能会过度杀戮,FlowLayout也会起作用
标签: java swing jlabel jcheckbox grouplayout