Cannot invoke "javax.swing.table.DefaultTableModel.setRowCount(int)" because "this.tableModel" is null
时间: 2024-05-01 08:23:59 浏览: 237
C#Control.Invoke方法和跨线程访问控件共
这个错误通常是因为你在调用 `setRowCount` 方法之前没有对 `tableModel` 进行初始化或赋值,所以它的值为 null。你需要先创建一个 `DefaultTableModel` 对象并将其赋值给 `tableModel`,例如:
```java
DefaultTableModel tableModel = new DefaultTableModel();
// 添加表头、数据等
tableModel.setColumnIdentifiers(columnNames);
tableModel.setDataVector(data, columnNames);
// 将 tableModel 赋值给表格
table.setModel(tableModel);
```
注意,这里的 `table` 是指继承自 `JTable` 的表格对象。在这个例子中,我们创建了一个空的 `DefaultTableModel` 对象,并通过 `setColumnIdentifiers` 和 `setDataVector` 方法设置了表头和数据。然后,我们将 `tableModel` 赋值给表格对象 `table` 的模型。这样,在调用 `setRowCount` 方法时,`tableModel` 不再为 null,就不会触发空指针异常了。
阅读全文