我正在使用JTable來顯示信息。在渲染信息後,如果我拖動列來對它們進行重新排序,則會話中的信息將以相同的方式顯示。但是當我嘗試通過迭代列名來檢查列名來捕獲更改時,序列與舊列相同。爲什麼API沒有提供最新的視圖?在Jtable中拖動列後列索引不會更改
2
A
回答
7
正如Hovercraft Full Of Eels評論的那樣,視圖中的列索引獨立於模型中的列索引而改變。 JTable
的JavaDoc中有這樣一段話吧:
默認情況下,列可以在
JTable
,使視圖的列會以不同的順序在模型中的列重新排列。這完全不影響模型的實現:當列重新排序時,JTable
在內部維護列的新順序,並在查詢模型之前轉換其列索引。
JTable
提供,您可以使用列編號從一個到另一個翻譯方法convertColumnIndexToModel()
和convertColumnIndexToView()
。您可以使用這些來確定是否(以及如何)重新排列這些列。
要在列發生更改時收到通知,請使用TableColumnModelListener
。
myTable.getColumnModel().addColumnModelListener(new TableColumnModelListener() {
//etc.
});
相關問題
- 1. janus gridex索引後拖動列
- 2. 在JTable中禁用單個列拖動
- 3. 更改列引用爲你拖垮
- 4. JavaFX在tableView中檢索拖動列的索引
- 5. 當在ListView中拖動列時,列標籤順序不會改變
- 6. 更改JTable中的列的大小
- 7. SQL:更新列,其索引在列更改時重置
- 8. JTable不會自動調整最後一列的大小
- 9. jTable索引不對
- 10. 使用索引和匹配,但更改列,當我拖累而不是排
- 11. 查找JQuery UI拖放後列表中元素的索引
- 12. 更改多索引列的df.columns.names
- 13. 更改您的20個索引列
- 14. 更改索引秩序排列
- 15. 在更改nodename後riak不會啓動
- 16. Python,更改列表中的列表索引
- 17. 在列表視圖中更改拖動光標
- 18. 動態更改JTable中的列標題文本
- 19. 更改jtable列頭的背景顏色
- 20. JTable - 激活列數據更改事件
- 21. 如果我知道列位置,更改JTable中的列標題
- 22. MSSQL不會更改索引啓用狀態禁用索引
- 23. 如何通過拖動從JTable中刪除列?
- 24. 動態的JTable中列
- 25. 更改UISegmentedControl selectedSegmentIndex不會更改所選索引
- 26. ASP.NET列表框不改變索引
- 27. 在嵌套列表(Python)中更改一個索引的值
- 28. Python:在隨機索引中更改列表元素
- 29. 自定義列表視圖索引自動更改
- 30. 在引導中更改div的列類
視圖和模型是完全不同的。改變列的順序不應該影響模型。 –