2016-04-28 6 views
0

У меня есть JTable и удаляйте некоторые его столбцы. Как только я удалил столбцы, мне нужно скопировать этот JTable.JTable clone/not the model

Я не могу скопировать модель, потому что модель по-прежнему включает удаленные столбцы. Итак, как я могу скопировать изображение «Visible Model»?

Мне не нужно копировать графический Swing-компонент JTable, мне просто нужна «видимая модель».

+1

Что вы подразумеваете под копией? Вы хотите сказать, что есть еще один кадр, в котором вы должны отображать скопированную таблицу без столбцов? – Blip

+0

Это именно то, что я имею в виду! ... - – user1104836

+0

Просто создайте копию объекта TableModel как новый объект без нужных столбцов и используйте эту новую таблицуModel в качестве модели для нового JTable – Blip

ответ

0

OMG, это так просто. Вам нужно также разместить ColumnModel в новом JTable:

JTable jtb = new JTable(ptable.getModel(), ptable.getColumnModel()); 
0
TableColumn col = jtable.getColumnModel().getColumn(0); 
jtable.getColumnModel().removeColumn(col); 

jtable.setAutoCreateColumnsFromModel(false); 
jtable.getmodel(); 

вещи вы должны вызвать jtable.setAutoCreateColumnsFromModel(false); другой мудрым, вы получите новый столбец снова после удаления столбца. попробуйте этот способ . то вы можете передать модель, в которой она не будет содержать удаленный столбец. Заметьте, что его свойство в jtable, поэтому достаточно вызвать метод setAutoCreateColumnsFromModel(false).

+0

Не работайте, если я позвоню до или после удаления столбца. :( – user1104836

+0

Итак, ваша новая модель все еще содержит удаленный столбец? – Priyamal

+0

Да, новая модель содержит удаленные столбцы. – user1104836

Смежные вопросы