0

から行を削除する必要がありJTableます。私は次のようにコードを書きました:

DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
int x = 0;
int row = dtm.getRowCount();

while(row>=x){

    dtm.removeRow(x);
    x++;

}

ただし、次のようなエラーが発生します。

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 
  24 >= 24
4

2 に答える 2

6

より簡単な解決策は、次を使用することです。

dtm.setRowCount(0);

これは、すべての行が削除された後、テーブル自体を一度だけ再描画する必要があるため、より効率的です。

于 2013-06-29T16:12:56.187 に答える
0

これを試すことができます:

while(row>x){
    dtm.removeRow(x);
    x++;
}

アップデート

    DefaultTableModel model = new DefaultTableModel(); 
    JTable table = new JTable(model); 

    model.addColumn("Col1"); 
    model.addColumn("Col2"); 
    model.addRow(new Object[]{"1", "2"});
    model.addRow(new Object[]{"1", "2"});

    table.setModel(model);

    for(int index = 0; index<table.getRowCount();)
    {
        model.removeRow(index);
    }

Java をインストールすると、より簡単になります。間違った答えでごめんなさい。

于 2013-06-29T16:10:00.597 に答える