Witam nie udało mi sie dojść do rozwiązania problemu samemu wiec zapytam, wzorując się na różnych materiałach w sieci ustawiłem JSPinner jako edytor dla komórek jednej kolumny i do tego momentu wszystko jest ok klikając strzałki w górę w dół i opuszczając aktywną komórkę wywoływane jest setValueAt w moim DataModel z wybraną wartością.

Jednak gdy wprowadzę wartość z klawiatury bez klikania strzałkami i opuszczę pole spinnera setValueAt dostaje wartość która była wcześniej ustawiona, a chciał bym aby zapisywała się aktualna wartość.

Również chciał bym żeby po wpisaniu wartości i wciśnięciu entera wartość była ustawiana obecnie trzeba wcisnąć enter dwukrotnie.

Zamieszczam kod uzywam dla CellEditor, reszta wyklikana jest w netbeansie

 public class SpinnerColumn extends AbstractCellEditor implements TableCellEditor {

        private JSpinner editSpinner;

        public SpinnerColumn(JTable table, int column) {
            editSpinner = new JSpinner();
            editSpinner.setBorder(new LineBorder(Color.BLUE));
            table.getColumnModel().getColumn(column).setCellEditor(this);
        }

        @Override
        public Object getCellEditorValue() {
            return editSpinner.getValue();
        }

        @Override
        public Component getTableCellEditorComponent(final JTable table, Object value, boolean isSelected, final int row, final int column) {
            editSpinner = new JSpinner(new SpinnerNumberModel(0, 0, 99999, 1));
            editSpinner.setBorder(null);
            editSpinner.setValue((Object) value);
            return editSpinner;
        }
    }