我有JTable的实例,他们会监听一些远程事件,并且根据事件的类型,我想锁定/解锁一个模型索引为N的行。通过锁定一行我的意思是设置所有单元格的可编辑标志为false。这是由我的桌面模型处理的。
目前,我正在调用repaint()
,因为我不希望我的表模型启动更新的事件,这是另一种选择,但我有一个复杂的逻辑当连续的实际数据发生变化,并且不想触发该逻辑时,就会发生这种情况。
还有其他办法吗?
答案 0 :(得分:0)
应直接对TableModel
进行更改。然后,TableModel将调用相应的fireXXX()
方法,该表将自动重新绘制受影响的行。
由于听起来这个“可编辑标志”在表格中不可见,因此没有理由重新绘制表格,因此您可以覆盖TableModel,以便在更改此标志时不生成任何事件。