【发布时间】:2009-03-09 10:22:35
【问题描述】:
我正在使用JTable 做一个迷你项目。
我使用Vector 类型作为行值。例如,public Vector textData = new Vector();。问题是当我编辑JTable 中的单元格时,它是可编辑的,但不保留更改后的值。也就是说,当我在 1 个单元格中输入数据并移动到下一个单元格时,之前的数据不会更新。
声明为Vector时是否可以编辑单元格?
【问题讨论】:
我正在使用JTable 做一个迷你项目。
我使用Vector 类型作为行值。例如,public Vector textData = new Vector();。问题是当我编辑JTable 中的单元格时,它是可编辑的,但不保留更改后的值。也就是说,当我在 1 个单元格中输入数据并移动到下一个单元格时,之前的数据不会更新。
声明为Vector时是否可以编辑单元格?
【问题讨论】:
您使用的模型类型并不重要。您需要做的基本上是通知您的模型编辑后数据已更改。查看How to Use Tables 获取一些示例。
【讨论】:
也覆盖setValueAt(Object value, int row, int col) 方法。它应该存储输入的数据,因此getValueAt(int row, int col) 方法可以返回新值。像这样的:
private String[][] data;
public Object getValueAt(int row, int col) {
return data[row][col];
}
public void setValueAt(Object value, int row, int col) {
data[row][col] = value;
}
【讨论】: