Please try this.
JTextPane textPane;
public void someMethod() {
textPane = new JTextPane(new DefaultStyledDocument());
textPane.setEditorKit(new ExtendedStyledEditorKit());
}
/** To enable no wrap to JTextPane **/
static class ExtendedStyledEditorKit extends StyledEditorKit {
private static final long serialVersionUID = 1L;
private static final ViewFactory styledEditorKitFactory = (new StyledEditorKit()).getViewFactory();
private static final ViewFactory defaultFactory = new ExtendedStyledViewFactory();
public Object clone() {
return new ExtendedStyledEditorKit();
}
public ViewFactory getViewFactory() {
return defaultFactory;
}
/* The extended view factory */
static class ExtendedStyledViewFactory implements ViewFactory {
public View create(Element elem) {
String elementName = elem.getName();
if (elementName != null) {
if (elementName.equals(AbstractDocument.ParagraphElementName)) {
return new ExtendedParagraphView(elem);
}
}
// Delegate others to StyledEditorKit
return styledEditorKitFactory.create(elem);
}
}
}
static class ExtendedParagraphView extends ParagraphView {
public ExtendedParagraphView(Element elem) {
super(elem);
}
@Override
public float getMinimumSpan(int axis) {
return super.getPreferredSpan(axis);
}
}