protected void configureEnableToggle( Boolean initiallyEnabled, String valueIfDisabled, final List<JComponent> components) { if (initiallyEnabled != null) { enable = new JCheckBox(); boolean enabled = initiallyEnabled.booleanValue(); this.enable.setSelected(enabled); for (JComponent c : components) { c.setEnabled(enabled); } this.valueIfDisabled = valueIfDisabled; final OptionField f = this; this.enable.addItemListener( new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { for (JComponent c : components) { c.setEnabled(f.isEnabled()); } fireChangeEvent(); } }); } }