gpt4 book ai didi

Java - 设置jScrollBar的位置

转载 作者:行者123 更新时间:2023-11-30 03:52:32 24 4
gpt4 key购买 nike

我在 JScrollPane 中有一个 JTable,该表每隔一段时间就会获取新的数据行。最终,数据行数超出了一次显示的数量,因此 ScrollPane 启动。我希望 Scroll Pane 在每次添加新数据时跳到底部(到其最大值),所以我写了这个,即添加新行后立即调用:

jScrollPane1.getVerticalScrollBar().setValue(jScrollPane1.getVerticalScrollBar().getMaximum());

它工作得很好,但有一个问题 - 它不会滚动到完整的底部。它总是会遗漏表格中的一行,您需要手动向下滚动才能到达完整的底部。

我怀疑新的数据行仅在方法结束后以某种方式添加(在按下 JButton 并激活 actionPerformed 类型的方法后激活它)。

如何解决这个问题?

最佳答案

您需要使用 SwingUtilities.invokeLater 在当前处理事件结束时将其排队;它看起来像这样:

SwingUtilities.invokeLater(new Runnable() {
public void run() {
jScrollPane1.getVerticalScrollBar().setValue(jScrollPane1.getVerticalScrollBar().getMaximum());
}
}
);

否则将在当前 Activity 期间运行,并将在任何实际更新之前发生。

记住将它们设置为最终变量以将它们传递给匿名内部类

关于Java - 设置jScrollBar的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24064653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com