【发布时间】:2015-04-09 13:22:23
【问题描述】:
我有一个包含一些数据的 JTable 的应用程序。所以我添加了数据,它看起来很好。但是当我尝试编辑一个单元格时,我可以编辑它,但是当我点击 enter 或 tab 来保存它反映了以前的新内容..我不知道为什么会这样..我在网上搜索但没有希望..:(
这是表模型类:
public class TableModel extends AbstractTableModel {
String[] columnNames = { "Col1", "Col2", "Col3", "Col4", "Col5", "Col6" };
private List<Entry> db;
JTable table;
public TableModel(JTable table) {
this.table = table;
}
public void addRow(Entry entry) {
db.add(entry);
fireTableRowsInserted(db.size() - 1, db.size() - 1);
table.editCellAt(db.size() -1, 0);
}
@Override
public boolean isCellEditable(int row, int column) {
return true;
}
public void setData(List<Entry> db) {
this.db = db;
}
@Override
public String getColumnName(int column) {
return columnNames[column];
}
@Override
public int getColumnCount() {
return 6;
}
@Override
public int getRowCount() {
return db.size();
}
@Override
public Object getValueAt(int row, int col) {
Entry entry = db.get(row);
try {
switch (col) {
case 0:
return entry.getItem();
case 1:
return entry.getTransPayment();
case 2:
return entry.getEquipPayment();
case 3:
return entry.getGasPayment();
case 4:
return entry.getEquipSparePayment();
case 5:
return entry.getTransSparePayment();
case 6:
return entry.getTotal();
}
} catch (Exception e) {
fireTableDataChanged();
}
return null;
}
}
问题是:我是否需要添加任何自定义方法或代码来执行我提到的操作?
【问题讨论】:
标签: java swing jtable abstracttablemodel