Lee*_*Lee 12 java swing jcheckbox
我将从我想要的东西开始然后从那里开始:
+------------------------------------------+
|[] jCheckBox jLabel |
+------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
基本上我想有一个JCheckBox2段文本,1个左对齐和1个右对齐.我希望整个盒子都是可点击的,并且行为完全像JCheckBox(如果我按下鼠标,它会突出显示盒子等).
现在我试过了:
使用HTML文本框内部,沿行的表:<html><table width=100%><tr width=100%><td>Left Text</td><td align=right>Right Text</td></tr></table>.这产生[] Left TextRightText没有任何视觉对齐.
添加JCheckBox和JLabel面板,但这需要我实现所有鼠标事件并调用正确的相应方法JCheckBox.我把它放在一边 - 但是如果这是唯一的选择,我愿意重新考虑
将JLabel添加到JCheckBox
JLabel在基线上的LayoutManager来解决的.JLabel与JCheckBox文本重叠,所以我广告调整我的布局管理器,但是JCheckBox没有从getPreferedSize()(的[1,1])给出正确的结果.所以,基本上我的问题是:我该如何实现呢?
创建父级JLabel,JLabel还没有实现任何LayoutManager,然后要在那里设置正确的LayoutManager,我认为 GridLayout( with 2 segments of text, 1 left aligned and 1 right aligned)
添加两个JLabels并正确对齐 ( JLabel.setHorizontalAlignment(javax.swing.SwingConstants.XXX);)
JCheckBox与父项放在一起JLabel( JLabel.setLabelFor(JCheckBox);)
JLabel 中的 MultiIcon的方式相同