2010-06-12 95 views
1

当我在我的Swing应用程序中创建一个JCheckBox时,我在它的标签后面留下了一些额外的空间,所以如果JCheckBox标签的宽度是例如100像素,那么为了安全起见,我使用JCheckBox 120个像素。如何强制调整JCheckBox以防止点击空白空间?

的问题,因为在运行时,它不是很好,用户可以对JCheckBox标签后单击空白处,它实际上可以点击,这样的:

http://imgur.com/3eMUG.png

我不知道是否有是否可以在运行时调整JCheckBox的大小以根据所使用的字体/大小来精确调整文本内容?

这似乎看中了一点,但我喜欢做的事情看起来很完美:)

编辑 - 更多细节:

我用FormLayout,我定义JCheckBox这样的:

CellConstraints con = new CellConstraints(); 
contentPane.add(checkBox1, con.xywh(3, 13, 10, 1)); 

回答

1

准确地适合其中的文字,具体取决于使用的字体类型/大小

这是默认的首选尺寸JCheckBox;只是不要改变它。

1

@trashgod是正确的。如果你想填充,对齐,或为了审美的目的,你应该使用布局管理器来实现这一点,而不是混淆组件本身。几乎所有你想要实现的布局都可以这样完成。你可能需要使用GridBagLayout,这可能是一个痛苦,但它是最灵活的。

0

好的...谢谢你的回答。 我在使用FormLayout时找到了合适的解决方案:

contentPane.add(checkBox1, con.xywh(3, 13, 10, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));