3
A
回答
2
JTable中似乎並不具備這樣做的內置方式。所以我用下面的代碼實現了它。 (希望這是誰正面臨着類似的問題有人幫助。)
int[] selectedIndexs = jtable.getSelectedRows();
jtable.selectAll();
for (int i = 0; i < jtable.getRowCount(); i++) {
for (int selectedIndex : selectedIndexs) {
if (selectedIndex == i) {
jtable.removeRowSelectionInterval(i, i);
break;
}
}
}
0
JTable中不具有該功能
0
沒有,你將不得不實行cutsom ListSelectionListener
2
爲了簡化Sudar的解決方案:
int[] selectedIndices = table.getSelectedRows();
table.selectAll();
for (int prevSel : selectedIndices) {
table.removeRowSelectionInterval(prevSel, prevSel);
}
+2
注意,在更大的表的情況下,即ListSelectionModel的valueIsAdjusting屬性幫助有點表現。 – Touko 2011-10-21 05:30:58
0
細化以上是使用選擇模型對象,而不是更新的選擇表對象。當您通過表格更新選擇時,每次更新都會觸發選擇更改事件,並且只需幾秒鐘即可更新僅有幾百行的表格。
與超過幾百行的多個表,最快的方法是這樣的
/**
* Invert selection in a JTable.
*
* @param table
*/
public static void invertSelection(JTable table) {
ListSelectionModel mdl = table.getSelectionModel();
int[] selected = table.getSelectedRows();
mdl.setValueIsAdjusting(true);
mdl.setSelectionInterval(0, table.getRowCount() - 1);
for (int i : selected) {
mdl.removeSelectionInterval(i, i);
}
mdl.setValueIsAdjusting(false);
}
相關問題
- 1. 轉移焦點在JTable中
- 2. Java JTable轉到行錯誤
- 3. 在JAVA中顯示JTable中的所有反序列化對象
- 4. 刷新JTable中反映到數據庫中的Java MYSQL
- 5. JTable中
- 6. JTable中
- 7. JTable中
- 8. JTable中
- 9. JTable中
- 10. 反轉和非反轉列表
- 11. 如何反轉或反轉鍵值?
- 12. 批處理 - 反轉/反轉FOR循環?
- 13. 轉換置換中的反轉表示
- 14. 文件中的反轉行
- 15. 在Android中反轉視頻
- 16. 在D3中反轉Y軸
- 17. 在PyQtGraph中反轉Y軸
- 18. 在ExtJs中反轉RowNumberer?
- 19. 在Matlab中反轉到im2java?
- 20. Python中的hasattr的反轉
- 21. 在C中反轉數組?
- 22. 在Python中反轉矩陣
- 23. 在Matlab中反轉soundsc
- 24. 在C#中反轉文本#
- 25. 在JavaScript中反轉整數
- 26. 在jQuery中反轉.toggle()
- 27. 在C中反轉數字#
- 28. 在C#中反轉1位#
- 29. PHP中矩陣的反轉
- 30. XAML中的顏色反轉
添加您的解決方案作爲一個答案進行表決了:d – 2010-03-16 09:30:07