0

やあ。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メソッドは呼び出されません。なんで?

4

1 に答える 1

5

列数がゼロであるため、列名を取得する必要はありません。

試す

public int getColumnCount() {
    return columnNames.length;
}
于 2012-05-18T10:27:06.683 に答える