我有一個Jtable,其中我使用setDataVector函數設置數據。它工作正常,但假設如果我只是通過使用鼠標拖動並在新的數據加載後在同一個表中更改了一些列寬度那麼該列的寬度重置爲默認位置。因此,即使新數據加載,基本上我仍想保留該寬度。Jtable保留列寬
1
A
回答
6
當您使用setDataVector()方法時,表的結構可能會更改,因此表會自動重新創建TableColumnModel,並且您失去了自定義。
當您創建JTable中第一次使用這樣的代碼:
JTable table = new JTable(...);
table.setAutoCreateColumnsFromModel(false);
防止TableColumnModel中被重建。
1
發生這種情況的原因是,當您根據文檔使用setDataVector()
重新創建列並且列寬度更改爲默認值時。
嘗試使用setAutoCreateColumnsFromModel()
來防止該行爲。
0
當您使用自定義表模型。不要使用setDateVector()它重新創建列。您可以使用setPreferredWidth()方法作爲手動管理列的寬度:
table.setModel(buildTableModel(rs));
TableColumnModel tcm = table.getColumnModel();
tcm.getColumn(0).setPreferredWidth(80);
tcm.getColumn(1).setPreferredWidth(200);
tcm.getColumn(2).setPreferredWidth(100);
tcm.getColumn(3).setPreferredWidth(100);
tcm.getColumn(4).setPreferredWidth(100);
相關問題
- 1. JTable列寬
- 2. 跨TableModel保留JTable選擇
- 3. 更改JTable列的寬度
- 4. Java,Swing - Jtable行保留刪除
- 5. UIGraphicsGetImageFromCurrentContext並保留長寬比
- 6. 保留端口的寬度
- 7. 如何保存JTable列的寬度,順序和可見性
- 8. 自動調整JTable列寬度
- 9. 在JTable中自動計算列寬
- 10. 動態調整JTable中ImageIcon的列寬
- 11. Java JTable不能設置列的寬度
- 12. 按百分比設置JTable的列寬
- 13. 如何在JTable/JXTable中設置列寬?
- 14. 的JTable是在調整我的列寬
- 15. 調整大小JTable列寬包含JCheckBoxes
- 16. JTable寬度佈局
- 17. MySQL保留列名
- 18. 如何更改寬度並保留rtl?
- 19. 響應式iframe保留長寬比
- 20. 用最小寬度保留邊距
- 21. 在保留寬度的情況下切換字體系列
- 22. jQuery的 - 數據表不保留列寬排序
- 23. Excel VBA中移動列,並保留寬度
- 24. 當我調整JFrame的大小時,如何保留JTable的列的大小?
- 25. 寬度JTable單元適合寬度值
- 26. IE8不保留寬高比時僅寬度或高度改變
- 27. 縮放保留寬高比的HTML5畫布寬度
- 28. 保留內格寬度時,外層div寬度動畫爲0px
- 29. 使用JTable作爲JScrollPane的columnHeader,同時保持每列的寬度
- 30. JTable中TableColumn的寬度
我使用一個自定義的TableModel – avinash