我会从我想要的开始,然后展开讲述:
+------------------------------------------+
|[] jCheckBox jLabel |
+------------------------------------------+
我想要一个具有两个文本段的JCheckBox
,一个左对齐,一个右对齐。我希望整个框都可以被点击,并且像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中
- 首先,这会导致JCheckBox更改字体,因此必须进行“调整”
- 其次,基线偏移了1或2个像素,这通过实施将
JLabel
放在基线上的布局管理器进行修复。 - 第三,
JLabel
与JCheckBox
文本重叠,因此我不得不调整我的布局管理器;但是JCheckBox
没有从getPreferedSize()
中给出正确的结果([1,1]
)。
所以,基本上我的问题是:我应该如何实现这个?