void (final List<ParamInfo> pairs) { MySuggestedNameCellEditor suggestedNameCellEditor = new MySuggestedNameCellEditor(QuickfixUtil.getArgumentsNames(pairs)); myParametersTable.setDefaultEditor(String.class, suggestedNameCellEditor); suggestedNameCellEditor.addCellEditorListener(new CellEditorListener() { @Override public void editingStopped(ChangeEvent e) { final int editingColumn = myParametersTable.getSelectedColumn(); if (editingColumn != 0) return; final int editingRow = myParametersTable.getSelectedRow(); if (editingRow < 0 || editingRow >= pairs.size()) return; String newNameValue = ((MySuggestedNameCellEditor)e.getSource()).getCellEditorValue(); final ParamInfo editingPair = pairs.get(editingRow); editingPair.name = newNameValue; } @Override public void editingCanceled(ChangeEvent e) { } }); }