我正在使用 GlazedLists 从 EventList 中自动生成 EventTableModel,以便与 JScrollbarPane 中的 JTable 一起使用。
我将 EventList 用作 FIFO,将一堆元素添加到末尾,然后有时会从开头删除一堆元素。删除元素后,选择的工作方式与我预期的完全一样:即使选择的索引已更改,仍会选择相同的元素(或至少选择仍在表中的元素)。这很棒。
显然,如果对象因一开始就删除项目而改变了它们的索引,则不可能保持视口显示固定范围的对象和固定范围的索引。默认行为似乎是保持视口不变。
如果我想将选定对象保持在视口中的同一位置,有没有办法可以做到这一点?(例如,在 EventTableModel 或 JScrollbarPane 上设置一个事件侦听器,并计算正确的滚动条设置,以便当我从头开始删除项目时,视口会随着对象移动?)