我遵循 Oracle 的模型来实现 AbstractTableModel
我这样做是因为我的表必须包含 3 列,并且第一列必须是 JCheckBox。
这是我的代码:
public class FestplattenreinigerGraphicalUserInterfaceHomePagePanelTableModel extends AbstractTableModel {
private String[] columnNames = {"Auswahl",
"Dateiname",
"Pfad"};
private Object[][] data = {
{new Boolean(true), "datei.tmp",
"/home/user/tmp"}
};
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int col) {
if (col == 0) {
return true;
} else {
return false;
}
}
public void setValueAt(Object value, int row, int col) {
data[row][col] = value;
fireTableCellUpdated(row, col);
}
}
以下是我的问题:
- JTable ( ) 如何
new JTable(FestplattenreinigerGraphicalUserInterfaceHomePagePanelTableModel)
知道列名和它们的值是什么?因为我的 AbstractTableModel 中没有构造函数?!是否因为 columnNames 和 data 必须像它们一样命名并且 JTable 访问它们? - 如何在我的 JTable 中添加新值?由于 columnNames 和 data 是数组。我可以用向量替换它们吗?如果是这样,我该如何初始化这些向量?在 myAbsTableModel 的构造函数中?
我认为很容易找到解决方案,但是这个表格处理对我来说并不是微不足道的,所以非常感谢你!