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