4

我有一些单选按钮,其文本可能很长。有没有简单的方法来换行它们?

是的,将它们包装在<html>标签中并插入<br>标签会起作用,但是有没有更自动的方法来实现这一点?我真的不想推出自己的排字机。

4

3 回答 3

7

最快最脏的方法就是在单选按钮标签文本的开头添加 <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 );
    }
}
于 2009-06-05T07:02:58.727 回答
2

我不认为有任何完美的解决方案。除了使用<br>标签之外,您还可以使用 aJTextArea并使其看起来像一个标签。然后设置lineWrapwrapStyleWordtrue

然后,您将失去单击标签以选择/取消选择单选按钮的功能,因此您必须添加鼠标侦听器。

于 2009-06-04T16:18:32.517 回答
0

将它们包装在<html>标签中并确保它们获得足够的垂直空间应该可以工作。无需自己打破界限。

于 2009-06-04T15:38:40.523 回答