Опубликовано 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
или перемещении в другую ячейку не сохраняется, возвращается исходное значение.
Где я не прав или что я делаю не так?