TITLE:JTableの行を全削除
#navi(../)
*JTableの行を全削除 [#j3b5fd74]
>編集者:[[Terai Atsuhiro>terai]]~
作成日:2005-04-11~
更新日:&lastmod;

#contents

**概要 [#y4a530d2]
JTableの行を一括で全削除します。

#screenshot

**サンプルコード [#i0d5d0ba]
#code{{
button.addActionListener(new AbstractAction("全消去") {
  public void actionPerformed(ActionEvent ae) {
    //DefaultTableModel model = (DefaultTableModel)table.getModel();
    //model.clear();
    model.setRowCount(0);
  }
});
}}
-&jnlp;
-&jar;
-&zip;

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

DefaultTableModelを継承していない場合は、モデルに以下の要領((詳細はDefaultTableModel.javaのソースを参照してください。))で行を全削除するメソッドを実装します。
#code{{
public void clear() {
  //以下のdataVectorは実装に合わせて変更してください
  int size = dataVector.size();
  dataVector.clear();
  fireTableRowsDeleted(0, size-1);
  //fireTableDataChanged();
}
}}

**参考リンク [#sa1a2655]
-[[JTableの行を追加、削除>Swing/AddRow]]

**コメント [#h696ae90]
#comment