[英]Word-wrap radio button text in Java?
我有一些單選按鈕,其文字可能很長。 是否有一種簡單的方法來自我封裝?
是的,將它們包裝在<html>
標簽中並插入<br>
標簽會起作用,但是有更自動的方法來實現這一點嗎? 我真的不想推出自己的排字機。
最快捷最簡單的方法就是在單選按鈕標簽文本的開頭添加<html>。 這將使換行開始發生,但如果文本中有<字符,您現在需要小心該文本。 這還保持了單擊標簽文本的功能,即單擊單選按鈕。
這是一個廉價而開朗的例子:
public class Test extends JFrame {
public static void main(String[] args) {
new Test();
}
private Test() {
Container c = getContentPane();
c.setLayout( new BorderLayout() );
c.add( new JRadioButton( "<html>I've got a very long text description that's going to wrap over very long lines because I stuck an <html> tag at the start of its label string.</html>") );
setDefaultCloseOperation( WindowConstants.EXIT_ON_CLOSE );
setSize( 200,200 );
setVisible( true );
}
}
我認為沒有任何完美的解決方案。 除了使用<br>
標簽之外,您還可以使用JTextArea
並使其看起來像標簽。 然后將lineWrap
和wrapStyleWord
設置為true
。
然后,您將失去單擊標簽以選擇/取消選擇單選按鈕的功能,因此您必須添加鼠標偵聽器。
將它們包裝在<html>
標簽中並確保它們獲得足夠的垂直空間應該有效。 不需要自己打破線條。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.