滚动JScrollPane时出现问题 - 线程

时间:2010-08-27 18:01:44

标签: java swing jscrollpane

情况是这样的:

单击菜单项后,会将一些组件添加到JScrollPane,调整组件大小,然后调用JScrollPane的setVisible方法。组件的大小调整不受我的控制。 (TextAreas根据其内容调整大小。禁用Caret更新。)

我想将JScrollPane滚动到底部。使用invokeLater和使用Runnable方法向下滚动列表的getMaximumValue在这种情况下似乎不起作用(虽然它通常用于程序的其他部分)。

在确保与上述操作相关的所有完成后,是否有办法让Runnable线程得到通知?

提前致谢。

2 个答案:

答案 0 :(得分:1)

你为什么要与另一个Thread一起做?你可以改用

JViewPort view = new JViewPort();
view.setPoint(new Point(0, heightOfContents));
scrollPane.setViewPort(view);

那或类似的东西应该做你需要的。

答案 1 :(得分:1)

您可以尝试在该线程上创建新线程并调用虚拟invokeAndWait。之后,所有待处理事件都应该完成,滚动代码应该可以正常工作。