JPanelにJTableがあり、編集したセルを保存する方法を知りたいです。現在、セルを編集してEnterキーを押すと、新しいデータが表示されますが、プログラムを閉じて再度開くと、データは元の状態に戻ります。
ピクチャー:
JTableの編集中:

プログラムを再起動した後:

前もって感謝します
編集:
プロジェクト内の.txtファイルからデータを取得しようとしています。どうすればいいのかよくわかりません。保存したデータを.txtファイルに取り込む方法やJTableに実装する方法がわかりません。
TableModelListenersのメソッドを使用し、何かが変更されるたびに(データのロード時に使用するのと同じ形式で)ディスクへの書き込みをトリガーする必要があります。だから、次のようなものを書いてください
myTable.getModel().addTableModelListener(new TableModelListener() {
@Override
public void tableChanged(TableModelEvent e) {
// access the values of the model and save them to the file here
}
});
おそらく使用するDefaultTableModel (他のことについては話していないため) は Serializable です。JTable.getModel()を使用して取得し、シャットダウン時に ObjectOutputStream を使用してファイルに書き込みます。プログラムの起動時に、ObjectInputStreamを使用してロードし直し、テーブルに設定します。
アプリケーションがいつ終了するかわからない場合は、ウィンドウを閉じるリスナーを追加して、そこにテーブル モデルを保存します。
もちろん、実行間でテーブルを保存する方法は他にもたくさんあります。
Swing は MVC を念頭に置いて構築されています。おそらくご存知のように、MVC は Model View Controller の略です。したがって、モデルはデータを含むものであり、データのグラフィカルな表現であるビューから切り離されています。
モデルはデフォルトのテーブル モデルです (または、別の実装を使用している可能性があります)。ビューは JTable そのものです。今では次のように動作します: コントローラーがモデルを変更します。モデルは、そのような変更について知りたい人にイベントを送信します。この場合のコントローラーは JTable (編集可能な部分) でもあります。実際、セルを編集した後、JTable の背後にあるテーブル モデルが変更されます (コントローラーはそのモデルが誰であるかを知っているので、それを変更します)。ここで、モデルは (swing でイベントを送信します) : 「私は変更されました」と言うので、変更イベントがあります。
唯一の問題は、おそらく誰もこのイベントを処理しないため、モデルの変更が再起動後も持続することです。
あなたがすべきことは次のとおりだと思います:モデルを取り、それをファイルにシリアル化する/ xmlファイルまたはデータベースに入れるリスナーを実装します-再起動後も生き残るものは何でも(最も適切な形式について考えることができます)。
特定のクラスについては指摘しませんでしたが (TableModelListener は既に提案されています)、全体的な説明はここでは問題ないと思いました。
お役に立てれば