我正在使用JScrollPane来允许在JFrame中滚动,该JFrame包含一个用作文本编辑器的文本组件。在此编辑器中设置文本后,我想做的是让它向上滚动到顶部,这样您就可以看到文件开头的内容。有人知道怎么做吗?
dldeef671#
对文本组件调用setCaretPosition(0)将使其滚动到顶部。
mzaanser2#
如果您没有使用文本组件,请查看此处发布的线程...... Setting Scroll Bar on a JScrollPane他们的解决方案是通过invokeLater派生一个线程
final JScrollPane scroll = new JScrollPane(text); javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { scroll.getVerticalScrollBar().setValue(0); } });
cfh9epnr3#
这将使工作:
DefaultCaret caret = (DefaultCaret) textArea.getCaret(); caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
wz1wpwve4#
可以在文本组件的setText(String t)之后使用方法setCaretPosition(0)。
setText(String t)
setCaretPosition(0)
b5buobof5#
使用JComponent.scrollRectToVisible()函数如果您需要更多信息,请here's an article
3z6pesqy6#
你可以试试这个:
scrollPane.getViewport().setViewPosition(new Point(0,0));
根据JavaDocs,setViewPosition()的行为如下所示:设置显示在视口左上角的视图坐标,如果没有视图,则不执行任何操作。
ckocjqey7#
具体方法如下:
textArea.setSelectionStart(0); textArea.setSelectionEnd(0);
7条答案
按热度按时间dldeef671#
对文本组件调用setCaretPosition(0)将使其滚动到顶部。
mzaanser2#
如果您没有使用文本组件,请查看此处发布的线程...... Setting Scroll Bar on a JScrollPane
他们的解决方案是通过invokeLater派生一个线程
cfh9epnr3#
这将使工作:
wz1wpwve4#
可以在文本组件的
setText(String t)
之后使用方法setCaretPosition(0)
。b5buobof5#
使用JComponent.scrollRectToVisible()函数
如果您需要更多信息,请here's an article
3z6pesqy6#
你可以试试这个:
根据JavaDocs,setViewPosition()的行为如下所示:
设置显示在视口左上角的视图坐标,如果没有视图,则不执行任何操作。
ckocjqey7#
具体方法如下: