我有一些单选按钮,其文字可能很长。是否有一种简单的方法来自我封装?
是的,将它们包装在<html>
标签中并插入<br>
标签会有效,但是有更自动的方法可以实现吗?我真的不想推出自己的排字机。
答案 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 <html> tag at the start of its label string.</html>") );
setDefaultCloseOperation( WindowConstants.EXIT_ON_CLOSE );
setSize( 200,200 );
setVisible( true );
}
}
答案 1 :(得分:2)
我认为没有任何完美的解决方案。除了使用<br>
标记之外,您还可以使用JTextArea
并使其看起来像标签。然后将lineWrap
和wrapStyleWord
设置为true
。
然后,您将失去单击标签以选择/取消选择单选按钮的功能,因此您必须添加鼠标监听器。
答案 2 :(得分:0)
将它们包装在<html>
标签中并确保它们获得足够的垂直空间应该有效。不需要自己打破这条线。