- /**
- * Traverses recursively the component tree, and sets all applicable component
- * models to null, so as to remove the listener connections.
- *
- * NOTE: All components in the configuration dialogs that use custom models must be added
- * to this method.
- */
- private void setNullModels(Component c) {
- if (c==null)
- return;
-
- // Remove models for known components
- // Why the FSCK must this be so hard?!?!?
-
- if (c instanceof JSpinner) {
- ((JSpinner)c).setModel(new SpinnerNumberModel());
- } else if (c instanceof JSlider) {
- ((JSlider)c).setModel(new DefaultBoundedRangeModel());
- } else if (c instanceof Resettable) {
- ((Resettable)c).resetModel();
- }
-
-
- if (c instanceof Container) {
- Component[] cs = ((Container)c).getComponents();
- for (Component sub: cs)
- setNullModels(sub);
- }
-
- }
-
-