Javaを使用してJTableの内容をクリアするにはどうすればいいですか?JTableをクリアする方法
答えて
基本的には、JTableで使用しているTableModelによって異なります。あなたがDefaultTableModel
を使用している場合は、次の2つの方法でそれを行うことができます。
DefaultTableModel dm = (DefaultTableModel)table.getModel();
dm.getDataVector().removeAllElements();
dm.fireTableDataChanged(); // notifies the JTable that the model has changed
または
DefaultTableModel dm = (DefaultTableModel)table.getModel();
while(dm.getRowCount() > 0)
{
dm.removeRow(0);
}
それはあなたが使用している機種に依存詳細
基礎となるデータベクトルを変更する場合は、テーブルイベントを発生させることを忘れないでください。そうしないと、JTableは変更されたという手がかりを持ちません... – dacwe
-1、両方の提案が間違っています。最初に、上記の理由でコメントしました。 2行目は行をスキップします。これは、変数iが各行を削除するにつれてインクリメントし続けるためです。ループを作成する場合は、行がなくなるまで行0を削除したままにしておきます。しかし、カルロスは最も簡単な解決法を掲示しました。 – camickr
Camickr、あなたは正しいです。私はこれらの問題を解決するために私の答えを変更しました。それでもCarlosのソリューションは実装が簡単です。 –
ためDefaultTableModelのJavadocを参照してください。あなたのJTableのために。
テーブルに使用されているTableModel
からデータを削除する必要があります。
DefaultTableModel
を使用する場合は、行数をゼロに設定するだけです。これにより、行が削除され、TableModelEvent
が起動し、GUIが更新されます。
JTable table; … DefaultTableModel model = (DefaultTableModel) table.getModel(); model.setRowCount(0);
TableModel
を使用している場合は、ドキュメントを確認してください。
これをここに追加するだけです...変更をすぐに見るために行数を0に設定した後に 'table.revalidate();'を呼び出さなければなりませんでした。そうしないと、 'JTable '。 – Sakiboy
@dimoは私のために 'revalidate()'がなくてもうまくいきます:[単純な例](http://pastebin.com/iDgLeKPk) 'DefaultTableModel'は、データが変更された時にビューに通知します。' setNumRows int) 'であれば、行数が減少すると' fireTableRowsDeleted'を呼び出します。 –
私は列なしできれいなテーブルを取得する必要がありました。私はfolowingを行った:
jMyTable.setModel(new DefaultTableModel());
迅速かつ効果的なソリューションですが、ヘッダーも削除されます。ヘッダーを削除しないようにするオプションがあれば、より良いはずです。別の投稿の誰かが、すべての行を1つずつ削除するよう提案しました。それはヘッダーを維持するだろう –
これは私が見つけた最も速く、最も簡単な方法である;
while (tableModel.getRowCount()>0)
{
tableModel.removeRow(0);
}
これは、テーブルlickety分割をクリアし、新しいデータの準備を整えます。
あなたは、あなたがjTableのすべてのセルをクリアして、新しい空のjTableのようにしたいと思っていたと思います。 たとえば、テーブルがMyTableの場合は、次の操作を実行できます。
DefaultTableModel model = new DefaultTableModel();
myTable.setModel(model);
tMOdel.setRowCount(0);
を使用すると、空のテーブルを取得できます。
DefaultTableModel tMOdel = (DefaultTableModel) jtableName.getModel();
tMOdel.setRowCount(0);
詳細を編集してください。コード専用と「試してください」の回答は、検索可能なコンテンツが含まれていないため、推奨されません。なぜ誰かが「これを試してみる」べき理由を説明しません。私たちはここで知識のためのリソースとなるよう努力しています。 – abarisone
((DefaultTableModel)jTable3.getModel()).setNumRows(0); // delet all table row
これを試してみてください。
- 1. Jtableでシャッフルする方法
- 2. エラータイマーをクリアする方法
- 3. ショッピングカートをクリアする方法
- 4. メジャーキャッシュをクリアする方法
- 5. バックボーンゾンビビューをクリアする方法
- 6. スピナーリスナーをクリアする方法
- 7. jtableのクローニング方法
- 8. JTableでJCheckBoxを追加する方法
- 9. jframeでクリアする方法
- 10. java jTable:行番号を知る方法?
- 11. クリアする方法:両方;正しく?
- 12. MKTileOverlay:タイルキャッシュをクリアする方法とタイルをリロードする方法
- 13. weblogicキャッシュをクリアする方法
- 14. Javaでコンソールをクリアする方法は?
- 15. iPhoneアプリキャッシュをクリアする方法
- 16. アンドロイドのバックグラウンドプロセスをクリアする方法は?
- 17. Javaでコンソールをクリアする方法 - Eclipse
- 18. ノードキューのワニスキャッシュをクリアする方法は?
- 19. ブロブ列オラクルをクリアする方法
- 20. テキストオートコンプリートフィールドの値をクリアする方法
- 21. C++でcinバッファをクリアする方法
- 22. Octaveでコマンドヒストリをクリアする方法
- 23. RecyclerViewアダプタデータをクリアする方法
- 24. loadrunnerでクッキーをクリアする方法12.50
- 25. NgTable:フィルタをクリアする方法
- 26. mongodbでコンソールをクリアする方法
- 27. PyQtテーブルウィジェットのアイテムをクリアする方法
- 28. Wordpressのコメントフォームをクリアする方法
- 29. angular2のテキストボックスをクリアする方法
- 30. MAC bashをクリアする方法
チェックこの質問:http://stackoverflow.com/questions/4439210/deleting-datas-in-the-table-in-gui/4439297#4439297 –
Dupe:http://stackoverflow.com/questions/3879610/clear-contents-of-a-jtable –