我正在尝试使用JTextArea实现JScrollPane.JTextArea被附加到,我希望JScrollPane在添加更多文本时继续向下滚动.怎么能实现这一目标?
如何仅在滚动条位于底部并且滚动锁定关闭时才使JTextPane自动滚动?这不应该与插入符号有任何关系,这似乎是我在Google上发现的.:(
我有这个JTextPane(包裹在一个JScrollPane)由一个支持HTMLEditorKit.该内容JTextPane是简单的HTML,其中一些图像(本地文件)使用img标签嵌入.问题是当你加载JTextPane它时,需要一瞬间加载,然后它会在页面底部出现滚动条.如果我做:
JTextPane text = new JTextPane();
JScrollPane scroll = new JScrollPane(text);
// do some set up...
scroll.getVerticalScrollBar().setValue(0);
Run Code Online (Sandbox Code Playgroud)
它暂时设置滚动条,然后另一个thead(可能是负责加载图像)来并将滚动条敲回底部.我尝试添加:
((AbstractDocument)text.getDocument()).setAsynchronousLoadPriority(-1);
Run Code Online (Sandbox Code Playgroud)
但这并没有解决它.有没有办法从任一得到一个事件text.getDocument()或text当窗格完成加载,这样我可以设置滚动条,然后会通知我吗?另一种方法是我设置另一个线程等待一秒左右,然后设置滚动条,但这是一个糟糕的黑客.
你的建议?