PropertyChangeListener () { return e -> { if ("enabled".equals(e.getPropertyName())) { EditorTextField etf = UIUtil.findComponentOfType((JComponent)editor, EditorTextField.class); if (etf != null) { etf.setBackground(getComboBackground(true)); } } else if ("editable".equals(e.getPropertyName())) { if (e.getNewValue() == Boolean.TRUE) { comboBox.removeMouseListener(mouseListener); } else { comboBox.addMouseListener(mouseListener); } } }; }