所以我在过程语言方面有很多经验,我正在尝试将它映射到 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();
}
}