2009-06-04 29 views
4

我有一些單選按鈕的文字可能很長。有沒有簡單的方法來包裝它們?Java中的單詞換行單選按鈕文本?

是的,包裝在<html>標籤和插入<br>標籤會工作,但有沒有更自動的方式來實現這一點?我真的不想推出自己的排字機。

回答

0

將它們包裝在<html>標籤中,並確保它們能夠獲得足夠的垂直空間。無需自行斷線。

+0

你能提供一個代碼示例?我幾乎在每個佈局中都嘗試過這種方法,但這並不適用於其中的任何一種佈局。 – 2009-06-04 15:48:27

2

我不認爲有任何完美的解決方案。除了使用<br>標籤之外,您可以使用JTextArea並使其看起來像一個標籤。然後將lineWrapwrapStyleWord設置爲true

然後,您失去了單擊標籤以選擇/取消選擇您的單選按鈕的功能,因此您將不得不添加鼠標偵聽器。

5

最快最骯髒的方法是簡單地在單選按鈕的標籤文本開始前加上<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 &lt;html&gt; tag at the start of its label string.</html>")); 
     setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
     setSize(200,200); 
     setVisible(true); 
    } 
} 
+0

工作得很好,是一個簡短的解決方案。它很髒,如果你把放在最後,它會起作用。它會更好;) – guerda 2009-06-05 12:53:48