2009-06-04 40 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