使用AbstractTableModel时不显示列名称

Dan*_* S. 0 java swing jtable abstracttablemodel

HY.我正在尝试使用AbstractTableModel构建一个简单的JTable,但即使我使用了JScrollPane,列名也不会出现.

public class TableModel extends AbstractTableModel{
private String[] columnNames = new String[]{"#","Name","Price","Quantity","Description"};

public TableModel() {
    super();
    System.out.println("constructor");

}

public int getColumnCount() {
    return 0;
}

public int getRowCount() {
    return 0;
}

public Object getValueAt(int rowIndex, int columnIndex) {
    return null;
}

public String getColumnName(int columnIndex) {
    System.out.println("in");
    return columnNames[columnIndex];
}

}
Run Code Online (Sandbox Code Playgroud)

我按以下方式将表格放在JPanel上:

table = new JTable(new TableModel());
add(new JScrollPane(table));
Run Code Online (Sandbox Code Playgroud)

不调用方法getColumnName.为什么?

Ash*_*Jha 5

由于列数为零,因此无需获取列名.

尝试

public int getColumnCount() {
    return columnNames.length;
}
Run Code Online (Sandbox Code Playgroud)