2010-06-12 96 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));