首页 > 解决方案 > 使用抽象表模型向 JTable 添加列

问题描述

我正在尝试使用 Java 创建一个出席名单。我正在使用JTable带有抽象表模型的 a 。问题是我想向表中添加新列,但是如果我创建一个addColumn第一列和新列相同的新列,我尝试使用以下方法更改新列中的数据:

public void setValueAt(Object value, int row, int col) {
    data[row][col] = value;
    fireTableCellUpdated(row, col);
}

但是这种方法改变了第一列和新列的内容。我也无法将内容更改为新的布尔值,如果我尝试这样做,整个表被破坏并且堆栈跟踪说字符串不能转换为布尔值。tablemodel 使用以下两个数组:

private String[] columnNames = {"Name",
                    "10.01.19","17.01.19"};
private Object[][] data ={
{"Kathy", new Boolean(true), new Boolean(true)},
{"John", new Boolean(true), new Boolean(true)},
{"Sue", new Boolean(true), new Boolean(true)},
{"Jane", new Boolean(true), new Boolean(true)},
{"Joe", new Boolean(true), new Boolean(true)}

我想知道如何在没有与表模型相同的内容的情况下向表中添加新列。我只能更改新列的标题而不更改第一个标题。

TableColumn column = new TableColumn();
column.setHeaderValue(new String("24.01.2019"));
table.addColumn(column);
table.setValueAt(new Boolean(true),0,3);

标签: javamultidimensional-arrayjtable

解决方案


推荐阅读