Java中的Word wrap单选按钮文本?

Java中的Word wrap单选按钮文本?,java,swing,radio-button,Java,Swing,Radio Button,我有一些单选按钮,它们的文本可能很长。有没有一种简单的方法来包装它们 是的,将它们包装在标记中并插入标记会起作用,但是有没有更自动的方法来实现这一点?我真的不想用我自己的排字机。把它们包装在标签中,确保它们有足够的垂直空间应该可以工作。没有必要自己打破界限。我认为没有任何完美的解决方案。除了使用标记之外,还可以使用JTextArea并使其看起来像标签。然后将lineWrap和wrapStyleWord设置为true 然后,您将失去单击标签以选择/取消选择单选按钮的功能,因此您必须添加鼠标侦听器。

我有一些单选按钮,它们的文本可能很长。有没有一种简单的方法来包装它们


是的,将它们包装在
标记中并插入

标记会起作用,但是有没有更自动的方法来实现这一点?我真的不想用我自己的排字机。

把它们包装在
标签中,确保它们有足够的垂直空间应该可以工作。没有必要自己打破界限。

我认为没有任何完美的解决方案。除了使用

标记之外,还可以使用
JTextArea
并使其看起来像标签。然后将
lineWrap
wrapStyleWord
设置为
true


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

最快和最脏的方法就是在单选按钮标签文本的开头添加前缀。这将使换行开始发生,但如果文本中包含<个字符,则现在需要小心。这还保持了单击标签文本的功能,即单击单选按钮

下面是一个既便宜又令人愉快的例子:

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 );
    }
}
公共类测试扩展JFrame{
公共静态void main(字符串[]args){
新测试();
}
私人测试(){
容器c=getContentPane();
c、 setLayout(新的BorderLayout());
c、 添加(新的JRadioButton(“我有一个很长的文本描述,它将以很长的行换行,因为我在标签字符串的开头粘贴了一个html标记。”);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
设置大小(200200);
setVisible(真);
}
}

能否提供代码示例?我几乎在每一个布局上都尝试过,但这对任何一个都不起作用。效果很好,这是一个简短的解决方案。这是脏的,如果你在最后放一根绳子就行了。那会更好;)既然你问得这么好!:)