Подтвердить что ты не робот

Как очистить JTable

Как я могу очистить содержимое JTable с помощью Java..

4b9b3361

Ответ 1

Вы должны удалить данные из TableModel, используемые для таблицы.

Если вы используете DefaultTableModel, просто установите количество строк в ноль. Это удалит строки и запустит TableModelEvent, чтобы обновить GUI.

JTable table;
…
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.setRowCount(0);

Если вы используете другой TableModel, проверьте документацию.

Ответ 2

В принципе, это зависит от TableModel, который вы используете для JTable. Если вы используете DefaultTableModel, вы можете сделать это двумя способами:

DefaultTableModel dm = (DefaultTableModel)table.getModel();
dm.getDataVector().removeAllElements();
dm.fireTableDataChanged(); // notifies the JTable that the model has changed

или

DefaultTableModel dm = (DefaultTableModel)table.getModel();
while(dm.getRowCount() > 0)
{
    dm.removeRow(0);
}

Подробнее см. JavaDoc DefaultTableModel

Ответ 3

Мне нужно было получить чистый стол без столбцов. Я сделал следующее:

jMyTable.setModel(new DefaultTableModel());

Ответ 4

Это зависит от модели, которую вы используете для JTable.

Ответ 5

Это самый быстрый и простой способ, который я нашел;

while (tableModel.getRowCount()>0)
          {
             tableModel.removeRow(0);
          }

Это очищает таблицу с размахом и оставляет ее готовой к новым данным.

Ответ 6

Я думаю, вы имели в виду, что хотите очистить все ячейки в jTable и сделать его просто как новый пустой jTable. Например, если ваша таблица является myTable, вы можете сделать следующее.

DefaultTableModel model = new DefaultTableModel();
myTable.setModel(model);

Ответ 7

Если мы используем tMOdel.setRowCount(0);, мы можем получить пустую таблицу.

DefaultTableModel tMOdel = (DefaultTableModel) jtableName.getModel();
tMOdel.setRowCount(0);

Ответ 8

((DefaultTableModel)jTable3.getModel()).setNumRows(0); // delet all table row

Попробуйте следующее: