我问了一个问题已经有一段时间了!
我正在用Java开发一个使用JLabels
的应用程序。无论如何,正如您可能或可能无法从下面的图片中看到的那样,Category Test
的文字被切断并最终说出Categor...
。有没有什么办法可以在文本填满标签的宽度时“破坏”文字?这是图像:
我做了什么
我使用了像这样的JTextPane:
JTextPane text = new JTextPane();
SimpleAttributeSet attr = new SimpleAttributeSet();
StyleConstants.setAlignment(attr, StyleConstants.ALIGN_CENTER);
pane.add(text, c);
然后我添加了我的文字,但不管怎样,谢谢!
答案 0 :(得分:10)
答案 1 :(得分:2)
我记得,如果你想要textwrap,你需要使用JTextArea。 JLabel没有这样做。
答案 2 :(得分:1)
您可以在http://java.net/projects/jide-oss/的JIDE Common Layer开源项目中使用StyledLabel组件。
html JLabel方法的问题是它不会自动换行,比普通JLabel慢大约20到40倍。
JTextArea或JTextPane方法的问题是它有一个奇怪的大小问题,也慢了20倍。
StyledLabel扩展了JLabel。自动换行只是它添加的众多功能之一。而且性能和普通的JLabel一样快。
希望它会有所帮助。