Удаление всех строк в JTable - PullRequest
27 голосов
/ 04 июня 2011

Мне нужно удалить все строки в JTable.

Я пробовал оба следующих варианта:

/**
 * Removes all the rows in the table
 */
public void clearTable()
{
    DefaultTableModel dm = (DefaultTableModel) getModel();
    dm.getDataVector().removeAllElements();
    revalidate();
}

и

((DefaultTableModel)table.getModel()).setNumRows(0);

Ни один из них не удалит все строки. Есть идеи?

Ответы [ 14 ]

0 голосов
/ 05 августа 2018

Попробуйте, если хотите очистить таблицу после сброса.

DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
model.getDataVector().removeAllElements();
jTable1.removeAll();
0 голосов
/ 31 декабря 2014
MyModel myTableModel = (MyModel) myTable.getModel();
for (int i = myTableModel.getRowCount()-1; i >= 0; i--) myTableModel.deleteRow(i);
0 голосов
/ 05 июня 2014

У меня было несколько таблиц, поэтому я создал метод очистки «любой» таблицы:

private void deleteAllTableRows(JTable table) {
    DefaultTableModel model = (DefaultTableModel) table.getModel();
    while( model.getRowCount() > 0 ){
        model.removeRow(0);
    }
}
0 голосов
/ 20 апреля 2013

Попробуйте этот код.Это удалит все строки из JTable.

DefaultTableModel model=new DefaulTableModel(rows,cols);
JTable table=new JTable(model);
for(int i=0;i<model.getRowCount();i=i+0)
{
 model.removeRow(0);
 revalidate();
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...