• 追加された行はこの色です。
  • 削除された行はこの色です。
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を継承しているなら、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