在 JTextPane 中不使用换行实现

Using no wrap implementation in JTextPane

首先,我是Java编程的新手。我想禁用 JTextPane 中的自动换行,因为与 JTextArea 不同,没有这样的选项可以做到这一点。我得到了这个 solution 但我不知道如何实现它,比如我应该把它放在我的代码中的什么地方?

无换行实施:

public class NoWrapParagraphView extends ParagraphView {

    public NoWrapParagraphView(Element elem) {
        super(elem);
    }

    @Override
    public void layout(int width, int height) {
        super.layout(Short.MAX_VALUE, height);
    }

    @Override
    public float getMinimumSpan(int axis) {
        return super.getPreferredSpan(axis);
    }
}

JTextArea 和 JScrollPane:

/*-- OTHER CODES --*/

JTextPane jTextPane = new JTextPane();
jTextPane.setContentType("text/html");
jTextPane.setEditable(false);
JScrollPane jScrollPane = new JScrollPane();
jScrollPane.setViewportView(jTextPane);

/*-- MORE CODES --*/

查看 No Wrap Text Pane 可能更简单的解决方案。

这些解决方案覆盖了 JTextPane 使用的默认 Scrollable 接口以防止换行。