TableCellEditor (final int row, final int column) { final PropertyEditor editor = myProperties.get(row).getEditor(); editor.removePropertyEditorListener(myPropertyEditorListener); // we do not need to add listener on every invocation editor.addPropertyEditorListener(myPropertyEditorListener); myCellEditor.setEditor(editor); return myCellEditor; }