0

私は手続き型言語の経験が豊富で、それを Java にマッピングしようとしています。

csv ファイルを使用してデフォルトのテーブル モデルを作成し、そのファイルをタブ内の JTable にロードするコードがあります。それはうまくいきます。しかし、テーブルに行を追加したいのですが、行を追加するために JTable にアクセスする方法がわかりません。

/* Build the fight index tab from a file */

public void LoadIndexTable(String file) {

    try {    
        FileReader fin = new FileReader(file);
        DefaultTableModel imodel = createTableModel(fin, null);
        JTable itable = new JTable(imodel);
        indexpanel = new JScrollPane(itable);

    } catch (Exception e) {
        e.printStackTrace();
    }
}

/* インデックス テーブルに行を追加します */

public void AddIndexRow() {

    itable.addRow(new Object[]{"Column 1", "Column 2", "Column 3"});

}

/* csv ファイルを正しいヘッダーでテーブルにロードします */

public static DefaultTableModel createTableModel(Reader in, Vector<Object> headers) 
{
    DefaultTableModel model = null;
    Scanner s = null;

    try {
        Vector<Vector<Object>> rows = new Vector<Vector<Object>>();
        s = new Scanner(in);

        while (s.hasNextLine()) {
            rows.add(new Vector<Object>  (Arrays.asList(s.nextLine().split("\\s*,\\s*",-1))));
        }

        if (headers == null) {
            headers = rows.remove(0);
            model = new DefaultTableModel(rows, headers);
        } else {
            model = new DefaultTableModel(rows, headers);
        }

        return model;

        } finally {
            s.close();
        }
    }
4

0 に答える 0