Я создаю dataTable, а cellEditor формирует один столбец. Этот столбец простой jSpinner. У меня следующая проблема. Когда я ввожу какое-то значение в счетчик и выбираю другую строку, значение в предыдущей строке не изменится. Если я нажму, это будет сделано. Если я выберу или кнопку, это будет сделано тоже. Но если я введу значение и изменю выбор, это не будет сделано. Помогите, пожалуйста. Вот код CellEditor.
public class DurationTableCellEditor extends AbstractCellEditor implements TableCellEditor{
final JSpinner spinner = new JSpinner();
// Initializes the spinner.
public DurationTableCellEditor() {
spinner.setModel(new SpinnerNumberModel(1,1,50000,1));
}
// Prepares the spinner component and returns it.
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
spinner.setValue(new Integer(value.toString()).intValue());
spinner.setCursor(null);
return spinner;
}
// Enables the editor only for double-clicks.
@Override
public boolean isCellEditable(EventObject evt) {
if (evt instanceof MouseEvent) {
return ((MouseEvent)evt).getClickCount() >= 1;
}
return true;
}
// Returns the spinners current value.
public Object getCellEditorValue() {
return spinner.getValue();
}
}