Удаление столбца с компонентами редактора таблиц

2

У меня есть таблица, которая содержит несколько столбцов с флажками в них. Иногда мой код должен удалять столбцы и создавать новые. Когда я делаю это с помощью следующего кода

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);
  • 0
    Время для SSCCE. Небольшая программа самодостаточная программа, которая демонстрирует проблему, с которой вы столкнулись.
  • 1
    Это Swing или SWT?
Показать ещё 1 комментарий
Теги:
swt

2 ответа

2
Лучший ответ

Правильный способ удаления столбца из Swing JTable заключается в вызове метода removeColumn:

table.removeColumn(table.getColumnModel().getColumn(0));

Будьте осторожны, поскольку это только удаляет столбец из представления без удаления базовых данных.

  • 2
    Другой способ - просто сказать TableModel удалить (т.е. не возвращать этот столбец).
1

Я решил изменить то, как я это сделал. Вместо того, чтобы удалять мои столбцы, я просто удалил всю таблицу и воссоздал ее. Отлично работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню