如何在JTextPane中实现自动换行?
我试图准确理解它是如何工作的,以便我可以修改行为。现在,如果我在JScrollPane中有一个标准的JTextPane,它会在空格处中断文本,但不会在长单词内部 - 如果有一个文本字符串没有比窗口宽的空格,它将不会换行/中断将出现一个水平滚动条。随着文本宽度的增加,ParagraphView的宽度(通过getWidth())会增加以保存文本。
This article by Lapitsky表示LabelView.getBreakWeight()为带有空格的标签返回View.ExcellentBreakWeight,为没有空格的标签返回View.GoodBreakWeight(GlyphView.java中的代码似乎证实了这一点),为什么不它打破了吗?它是以某种方式返回BadBreakWeight而不是GoodBreakWeight?还是有一些布局问题?还是有错误?
这是一些代码(为了您的观看乐趣):
//somewhere inside JPanel or JFrame constructor
JTextPane textPane = new JTextPane();
JScrollPane scrollPane = new JScrollPane(textPane);
add(scrollPane);
请注意,如果我取出滚动窗格并仅使用文本窗格(它只是在窗口外面时会被剪裁),它仍然不会换行。
Swing的javadoc似乎没有详细介绍一些对象(如JTextPane,View和相关对象)如何协同工作。是否还有关于此类课程设计的进一步文档,或许详细说明了每个课程的目的以及它们如何一起工作?它不公开吗? (或者我是唯一一个遇到类似问题的人吗?或者说文档不足以限制一些典型的开发人员不会处理的事情?)