Java中的自动换行单选按钮文本?

时间:2009-06-04 15:34:48

标签: java swing radio-button

我有一些单选按钮,其文字可能很长。是否有一种简单的方法来自我封装?

是的,将它们包装在<html>标签中并插入<br>标签会有效,但是有更自动的方法可以实现吗?我真的不想推出自己的排字机。

3 个答案:

答案 0 :(得分:7)

最快捷最简单的方法就是预先添加&lt; html&gt;在单选按钮的标签文本的开头。这将使换行开始发生,但如果它有&lt;你现在需要注意该文本。其中的人物。这还保持了单击标签文本的功能,即点击单选按钮。

这是一个廉价而开朗的例子:

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 );
    }
}

答案 1 :(得分:2)

我认为没有任何完美的解决方案。除了使用<br>标记之外,您还可以使用JTextArea并使其看起来像标签。然后将lineWrapwrapStyleWord设置为true

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

答案 2 :(得分:0)

将它们包装在<html>标签中并确保它们获得足够的垂直空间应该有效。不需要自己打破这条线。