不换行的JTextPane的实现

绣文字

关注

阅读 101

2022-02-01

JTextPane默认是自动换行的(占据一行的长单词不换)。而且没有自带的方法能够关掉换行。在谷歌上搜索后发现重写以下两个方法就可以实现不换行。

public class NoWrapJTextPane extends JTextPane {
    @Override
    public boolean getScrollableTracksViewportWidth() {
        // Only track viewport width when the viewport is wider than the preferred width
        return getUI().getPreferredSize(this).width 
            <= getParent().getSize().width;
    };

    @Override
    public Dimension getPreferredSize() {
        // Avoid substituting the minimum width for the preferred width when the viewport is too narrow
        return getUI().getPreferredSize(this);
    };
}

精彩评论(0)

0 0 举报