TITLE:JTableの行を全削除

JTableの行を全削除

Posted by terai at 2005-04-11

概要

JTableの行を一括で全削除します。

  • &jnlp;
  • &jar;
  • &zip;

#screenshot

サンプルコード

button.addActionListener(new AbstractAction("全消去") {
  public void actionPerformed(ActionEvent ae) {
    //DefaultTableModel model = (DefaultTableModel)table.getModel();
    //model.clear();
    model.setRowCount(0);
  }
});

解説

モデルがDefaultTableModelを継承しているなら、setRowCount(0)ですべての行を削除することができます。この場合、モデルを作り直している訳ではないので、カラムの幅などは削除する前と同じ値を保っています。

DefaultTableModelを継承していない場合は、モデルに以下の要領*1で行を全削除するメソッドを実装します。

public void clear() {
  //以下のdataVectorは実装に合わせて変更してください
  int size = dataVector.size();
  dataVector.clear();
  fireTableRowsDeleted(0, size-1);
  //fireTableDataChanged();
}

参考リンク

コメント