已发布 CellEditor。
import java.awt.Component;
import javax.swing.AbstractCellEditor;
import javax.swing.JComponent;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.TableCellEditor;
public class UserCellEditor extends AbstractCellEditor
implements TableCellEditor {
JComponent component = new JTextField();
public Object getCellEditorValue() {
return ((JTextField) component).getText();
}
public Component getTableCellEditorComponent(JTable table,
Object value, boolean isSelected, int row, int column) {
((JTextField) component).setText((String) value);
return component;
}
}
然后我这样调用表方法:
UserTable.getColumnModel().getColumn(0).setCellEditor(new UserCellEditor());
正在编辑单元格,但按 Enter
键或移动到另一个单元格的结果没有存储,它返回原始值。
我哪里错了或哪里做错了?
最佳答案
看起来您正在编辑本地 JTextField
中的值,而您的数据模型随后在编辑完成后返回未更改的值。您的编辑器需要按照本 example 中的建议更新您的模型.
关于java - 不保留单元格的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3565248/