我有一個JTable並刪除它的一些列。一旦我刪除了列,我需要複製這個JTable。JTable克隆/不是模型
我無法複製模型,因爲模型仍然包含已刪除的列。那麼如何複製「可見模型」?
我並不需要複製JTable的圖形化Swing組件,我只需要它的「可見模型」。
我有一個JTable並刪除它的一些列。一旦我刪除了列,我需要複製這個JTable。JTable克隆/不是模型
我無法複製模型,因爲模型仍然包含已刪除的列。那麼如何複製「可見模型」?
我並不需要複製JTable的圖形化Swing組件,我只需要它的「可見模型」。
OMG,它非常簡單。您還需要將ColumnModel放置在新的JTable中:
JTable jtb = new JTable(ptable.getModel(), ptable.getColumnModel());
TableColumn col = jtable.getColumnModel().getColumn(0);
jtable.getColumnModel().removeColumn(col);
jtable.setAutoCreateColumnsFromModel(false);
jtable.getmodel();
事情是你必須調用jtable.setAutoCreateColumnsFromModel(false);
其他聰明人,你會再次刪除列後得到的新列。試試這個 的方式。那麼你可以通過模型,它不會包含刪除的column.note,它在jtable中的一個屬性,所以一次調用方法setAutoCreateColumnsFromModel(false)
就足夠了。
如果我在刪除列之前或之後調用它,那麼不要工作。 :( – user1104836
因此您的新模型仍包含已刪除列? – Priyamal
是的,新模型包含已刪除列。 – user1104836
你是什麼意思的副本?你的意思是說有另一個框架,你必須顯示沒有列的複製表? – Blip
這就是我的意思! ... - – user1104836
只需創建TableModel對象的副本作爲新對象,而不使用不需要的列,然後使用此新的tableModel作爲新的JTable的模型 – Blip