【问题标题】:Problem while scrolling a JScrollPane - Threads滚动 JScrollPane 时出现问题 - 线程
【发布时间】:2010-08-27 18:01:44
【问题描述】:

情况是这样的:

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

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

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

提前致谢。

【问题讨论】:

  • 请提供代码示例。

标签: java swing jscrollpane


【解决方案1】:

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

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

那个或类似的东西应该可以满足您的需要。

【讨论】:

  • 很遗憾,它不起作用。它只是像其他人一样忽略命令。
  • @Emre,嗯。抱歉,我想不出任何其他解决方案。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2015-11-04
    • 2012-07-20
    • 2016-10-10
    • 1970-01-01
    • 2011-01-03
    相关资源
    最近更新 更多