Java 无法将JLabel与JCheckBox垂直对齐,就像单个JCheckBox与GroupLayout对齐一样

Java 无法将JLabel与JCheckBox垂直对齐,就像单个JCheckBox与GroupLayout对齐一样,java,swing,jlabel,jcheckbox,grouplayout,Java,Swing,Jlabel,Jcheckbox,Grouplayout,有时我需要复选框的标签在复选框的左边,而不是右边,所以不要使用 JCheckBox checkbox = new JCheckBox("label",false); 我有: (我正在使用GroupLayout) 但它们没有正确地垂直对齐,我也尝试过 =layout.createParallelGroup(GroupLayout.Alignment.CENTER); 这看起来不错,但与使用单个复选框看起来仍然不同 以及各种其他选项,是否可以获得相同的对齐?您可以使用函数设置水平文本位置(in

有时我需要复选框的标签在复选框的左边,而不是右边,所以不要使用

JCheckBox checkbox = new JCheckBox("label",false);
我有:

(我正在使用GroupLayout) 但它们没有正确地垂直对齐,我也尝试过

 =layout.createParallelGroup(GroupLayout.Alignment.CENTER);
这看起来不错,但与使用单个复选框看起来仍然不同
以及各种其他选项,是否可以获得相同的对齐?

您可以使用函数
设置水平文本位置(int textPosition)
和int值
SwingConstants。对

为什么不使用?我同意@MadProgrammmer,这是setHorizontalTextPositionmy 2cents的职责,可能不是一个选项-如果你有一点点机会:找一个外部LayoutManager@MadProgrammer,brilliant没有意识到这种方法的存在,是的,这是我应该也将要使用的方法。虽然仍然(稍微)感兴趣,如果这可以用我不正确的方法来完成。@PaulTaylor,我会听从克利奥帕特拉的建议。是的,可以做到。我会将标签和复选框放在自己的窗格中,并使用类似于
GridBagLayout
的东西,但在这种情况下,
FlowLayout
也会起作用。如果您有一个复选框,则会发现一个问题,然后在下面使用类似于Jlabel的东西(用于输入字段)如果将Alignment设置为LEFT,则复选框文本的开头与JLabel文本不对齐。使用标签位于右侧的默认复选框,复选框也不会对齐(略微缩进),但看起来没问题,但是如果是文本,它看起来很有趣。
 =layout.createParallelGroup(GroupLayout.Alignment.CENTER);