2013-03-07 67 views
0

对于我的JTable,我使用的是DefaultListSelectionModel。有一个setSelectionInteral(int index0,int index1)和addSelectionInteral(int index0,int index1)。如果我有一个连续的选择或一个选择,这些工作很好。如果我有很多单独或不连续的选择会怎么样?添加一千个单选非常慢。我是否应该使用另一个类来驱动我的JTable选择?我不明白为什么我不能一次提供所选索引列表,为什么只有间隔?DefaultListSelectionModel很慢,我怎样才能更快地添加选择?

+0

你可以放大在这样一个复杂的选择的目的是什么? [sscce](http://sscce.org/)可能会有所帮助。 – trashgod 2013-03-07 23:06:06

回答

3

不要试图在您的ListSelectionModel中维护复杂状态,请考虑将状态存储在TableModel中,并让渲染器表示状态,即example

+1

我同意(例如,如果我没有会的问题;)),通过选择设置为“亮点”细胞可能不是一个好主意+1 – MadProgrammer 2013-03-07 23:33:49

+0

@MadProgrammer:我欢迎您的见解!自定义的'ListSelectionModel' _might_可以保证,但更新'TableModel'更容易优化。 – trashgod 2013-03-08 00:12:28