2013-03-07 70 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