【发布时间】:2012-01-15 22:23:36
【问题描述】:
java jTable 类的一个问题。其实我不是Java程序员,只是现在使用Java在Matlab中设计GUI。我所做的是:
- 在 Matlab GUI 中内置了一个 jTable。
- 我在jTable中使用/调用了一个RowFilter,它可以使jTable显示过滤结果。
- 然后从这个过滤视图的结果中,我使用了表模型中的 removeRow 方法来删除一个或多个选定的行。
问题是每次如果我删除一行,表格内容会根据需要自行刷新,但滚动条会跳回到开头。
有谁知道如何抑制这种跳跃并保持jTable的原始视图?因为这有助于我不必向后滚动以找到我开始删除的原始位置。
感谢您的建议和帮助。
【问题讨论】:
-
听起来 tableModel 触发了不正确的事件(f.i. dataChanged 而不是 rowDeleted)
-
刚刚检查:与核心 JTable 和 DefaultTableModel 一起工作正常,所以你的代码有问题(@trashgod:确实需要手动干预:-)
-
感谢您的建议。你能告诉我如何检查和纠正哪里错了吗?
-
@trashgod:意思是没有手册..
-
注册一个 tableModelListener 并查看它在删除一行时会触发什么
标签: java swing matlab scroll jtable