import javax.swing.JTextPane;
import javax.swing.text.AbstractDocument;
import javax.swing.text.BoxView;
import javax.swing.text.ComponentView;
import javax.swing.text.Element;
import javax.swing.text.IconView;
import javax.swing.text.LabelView;
import javax.swing.text.ParagraphView;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledEditorKit;
import javax.swing.text.View;
import javax.swing.text.ViewFactory;
/**
* 针对Bug JTextPane中当输入较长的英文无空格时,会认为这是一个单词,并且自动换行失效,导致JTextPane的实际宽度变大出现滚动条
* 重写JTextPane的方法,来控制这个Bug
*/
public class MyTextPane extends JTextPane {
private static final long serialVersionUID = 1L;
public MyTextPane() {
super();
this.setEditorKit(new WarpEditorKit());
}
//内部类---以下内部类全都用于实现自动强制折行
@SuppressWarnings("serial")
private class WarpEditorKit extends StyledEditorKit {
private ViewFactory defaultFactory = new WarpColumnFactory();
TextPane接收到较长英文不换行bug的处理
最新推荐文章于 2023-11-28 09:59:25 发布
本文探讨了Java Swing组件TextPane在显示较长英文字符串时不自动换行的bug,并提供了相应的解决方案,帮助开发者优化用户体验。
摘要由CSDN通过智能技术生成