gpt4 book ai didi

java - 在视口(viewport)中保留 JTable 选择

转载 作者:行者123 更新时间:2023-12-01 16:12:17 25 4
gpt4 key购买 nike

我正在使用 GlazedLists 从 EventList 自动生成 EventTableModel,以便与 JScrollbarPane 中的 JTable 一起使用。

我使用 EventList 作为 FIFO,一堆元素添加到末尾,然后有时从开头删除一堆元素。删除元素时,选择的工作方式与我预期的完全一样:即使选择的索引已更改,也会选择相同的元素(或至少选择仍在表中的元素)。太棒了。

显然,如果对象由于在开始时删除项目而改变了索引,则不可能保持视口(viewport)显示固定范围的对象和固定范围的索引。默认行为似乎是保持视口(viewport)相同。

如果我想将选定的对象保留在视口(viewport)中的同一位置,有什么办法可以做到这一点吗? (例如,在 EventTableModel 或 JScrollbarPane 等上设置事件监听器,并计算正确的滚动条设置,以便当我从头开始删除项目时,视口(viewport)会随对象一起移动?)

最佳答案

如果我正确调用,JComponent 上有一个由 JViewport 使用的方法当您在 Jtable 中使用箭头键时,它会执行实际的滚动

public void scrollRectToVisible(Rectangle aRect)

这样您就不需要调整滚动条,但您可以明确指定哪些矩形应该可见。可以包括一些基于单行的行数和像素高度的计算。您还可以在此方法中放置一个断点,并检查使用箭头键在 Jtable 中移动时它是如何工作的

关于java - 在视口(viewport)中保留 JTable 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/656341/

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