如何动态地将多行文本添加到JButton中,但行数未知?

3
如何使JButton上的文本多行?我已经了解到大多数人使用HTML,但是当它是动态的并且您不知道行的大小或行是什么时会发生什么?
现在,我的按钮上的文本只是以...结束,而不是换行。
大多数其他方法假定您知道字符串并且是硬编码的,因此无法即时完成此操作。
编辑:我创建了一个方法,可以动态地为按钮执行此操作。

可能是Word Wrap in JButtons或者这个答案的重复。 - Andrew Thompson
1
答案没有解决我的问题,所以我在这里添加了一个答案。http://stackoverflow.com/questions/15770776/how-to-split-a-jbutton-java-text-into-multiple-lines-without-knowing-the-line?noredirect=1#comment22417716_15770776 - William Falcon
1个回答

20

你至少需要了解每行的分隔符是什么。例如,如果使用换行符作为行分隔符,可以执行以下操作:

String twoLines = "Two\nLines";
JButton b = 
    new JButton("<html>" + twoLines.replaceAll("\\n", "<br>") + "</html>");

只有当长文本已经包含有关换行符的信息时,这才有效。使用CSS来样式化原始文本(请参见上面的链接)更加健壮和多功能。 - Andrew Thompson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接