1

情况是这样的:

单击菜单项后,将一些组件添加到 a JScrollPane,调整组件大小,然后JScrollPane调用 setVisible 方法。调整组件的大小是我无法控制的。(TextAreas 根据其内容调整大小。插入符号更新被禁用。)

我想滚动JScrollPane到底部。在这种情况下,使用invokeLaterand aRunnable通过 usinggetMaximumValue方法向下滚动列表似乎不起作用(虽然它通常适用于程序的其他部分)。

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

提前致谢。

4

2 回答 2

1

你为什么要和另一个人那样做Thread?你可以改用

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

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

于 2010-08-27T18:12:16.160 回答
1

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

于 2010-08-27T18:13:12.243 回答