У меня есть таблица, которая содержит несколько столбцов с флажками в них. Иногда мой код должен удалять столбцы и создавать новые. Когда я делаю это с помощью следующего кода
int columnscount = myTable.getColumnCount();
//remove the columns
for(int i=2;i<columnscount;i++){
myTable.getColumn(2).dispose();
}
Все столбцы удалены, но флажков нет. Как удалить компоненты редактора? Они создаются с использованием этого кода
TableEditor editor = new TableEditor (myTable);
editor.minimumWidth = checkButton.getSize().x;
editor.horizontalAlignment = SWT.CENTER;
editor.setEditor(checkButton, ti, colCheckCount);
Правильный способ удаления столбца из Swing JTable
заключается в вызове метода removeColumn
:
table.removeColumn(table.getColumnModel().getColumn(0));
Будьте осторожны, поскольку это только удаляет столбец из представления без удаления базовых данных.
Я решил изменить то, как я это сделал. Вместо того, чтобы удалять мои столбцы, я просто удалил всю таблицу и воссоздал ее. Отлично работает.