情况是这样的:
单击菜单项后,会将一些组件添加到JScrollPane
,调整组件大小,然后调用JScrollPane
的setVisible方法。组件的大小调整不受我的控制。 (TextAreas根据其内容调整大小。禁用Caret更新。)
我想将JScrollPane
滚动到底部。使用invokeLater
和使用Runnable
方法向下滚动列表的getMaximumValue
在这种情况下似乎不起作用(虽然它通常用于程序的其他部分)。
在确保与上述操作相关的所有完成后,是否有办法让Runnable
线程得到通知?
提前致谢。
答案 0 :(得分:1)
你为什么要与另一个Thread
一起做?你可以改用
JViewPort view = new JViewPort();
view.setPoint(new Point(0, heightOfContents));
scrollPane.setViewPort(view);
那或类似的东西应该做你需要的。
答案 1 :(得分:1)
您可以尝试在该线程上创建新线程并调用虚拟invokeAndWait。之后,所有待处理事件都应该完成,滚动代码应该可以正常工作。