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];
}
}
我按照以下方式将表格放在JPanel上:
table = new JTable(new TableModel());
add(new JScrollPane(table));
不调用方法getColumnName。为什么呢?
答案 0 :(得分:5)
由于您的列数为零,因此无需获取列名。
试
public int getColumnCount() {
return columnNames.length;
}