在我创建的gui中,我有一个JEditorPane,它在类构造期间具有以下操作:

    htmlPane = new JEditorPane();
    htmlPane.setEditable(false);
    htmlPane.setContentType("text/html");
    htmlPane.setText(Utils.startHtml);


然后在创建GUI期间执行以下操作:

jsp = new JScrollPane( htmlPane, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED );
        jsp.getViewport().setPreferredSize(new Dimension((width/2)+100,height-85));
        rightPanel.add(jsp);


当我通过设置文本将新文本加载到JEditorPane中时,滚动到底部:

htmlPane.setText(newHtml)


如何防止滚动到底部?我想要显示的html的顶部。

最佳答案

尝试

DefaultCaret caret = (DefaultCaret)htmlPane.getCaret();
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);

10-06 02:17