我正在由他人编辑Java应用程序开发人员。我从未在Java应用程序上工作过。
我需要将JTable
强制转换为DefaultTableModel
才能使用方法DefaultTableModel.removeRow(row)
。
执行此操作时,出现错误
SheetModel cannot be cast to javax.swing.table.DefaultTableModel
这是我的JTable类:
public class Sheet extends JTable {
private SheetModel model;
public Sheet(final Book book, int numRow, int numColumn, String name, List<RowStyle> rowStyles) {
...
Cell2 foo[][];
...
model = new SheetModel(foo, this);
setModel(model);
...
}
public void castC(){
//this is where I get the error//////
DefaultTableModel model = (DefaultTableModel)getModel();
}
}
这是我的AbstractTableModel:
class SheetModel extends AbstractTableModel {
final private Sheet guiTable;
private int guiRow;
private int guiColumn;
protected Cell2[][] cells;
SheetModel(Cell2[][] cells, Sheet table) {
guiTable = table;
guiRow = cells.length;
guiColumn = cells[0].length;
this.cells = cells;
}
}
有人能理解我的错误以及如何解决吗?