2

わかりました、私はこれを読みましたが、まだ非常に混乱しています. ArrayList にデータを格納するカスタム テーブル モデルを持つ JTable があります。ちゃんと表示されます。ただし、行を追加する場合は、オブジェクトを ArrayList に追加してから、fireTableRowsInserted(...) を呼び出します。ただし、テーブルは更新されません。

public Main() {
        initComponents();
        current_map = new Map();
        current_map.authors.add(new Author("New Author"));
        author_model = new AuthorModel(current_map.authors);
        jTable1.setModel(new AuthorModel(current_map.authors)); <---This is the mistake
    }   
...     



    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        author_model.authors.add(new Author("New Author"));
        author_model.fireTableRowsInserted(author_model.authors.size(), author_model.authors.size());
    }

上記のコードは、メインの JFrame からのものです。ここからどこへ行くべきかわからない。

私は今迷っています。

4

1 に答える 1

4

テーブルは以下で初期化されます。

jTable1.setModel(new AuthorModel(current_map.authors));

しかし、ボタンがクリックされると、変数 author_model を変更します。

author_model.authors.add(new Author("New Author"));

テーブルの初期化は

jTable1.setModel(author_model);

また、Java の命名規則を尊重し、変数に適切な名前を選択する必要があります。

于 2013-05-12T21:54:38.213 に答える