これが問題です。JTable
フレーム内に編集可能なデータを表示しています。新しい行を追加したり、古い行を削除したりできます。
ここで、いくつかのデータが入力されたテーブルから開始すると、正常に機能します。行を削除することができます。これにより、データから行も削除されますVector<Vector>
。ただし、行を追加すると、その行はテーブルに表示されますが、変更はデータに反映されません。
Vector<Object> newQuestion = new Vector<Object>(3, 1);
newQuestion.add(question.getText());
newQuestion.add(answer.getText());
newQuestion.add(false);
model.addRow(newQuestion); // Update the model with new question
model
ですDefaultTableModel
。model.fireTableDataChanged();
DTMがそれ自体を起動したとしても、試しましたが、それも機能しませんでした。
ポインタはありますか?
編集:興味深いのは、テーブル内のデータから始めて行を追加すると、変更がデータにも反映されることです。
編集2:https ://github.com/thekarangoel/YALT/blob/master/src/editDB.java 65行目から、行が追加されます。試すには、コンパイル、実行、ファイル>新しいデータベースの追加。名前を付けます。新しい行を追加します。
編集3:このコードの場合:System.out.println( "Data:" + data); Vector> modelData = model.getDataVector(); System.out.println( "データ:" + modelData);
私はこれを手に入れます:
Data: null
Data: [[w, a, false]]
私のベクターからの最初のifデータ。2つ目は、`modelのVectorのデータです。なぜこうなった?既存のテーブルに何かを追加すると、ファイル行にも変更が表示されます。