Index: javax/swing/JSpinner.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/JSpinner.java,v retrieving revision 1.3 diff -u -r1.3 JSpinner.java --- javax/swing/JSpinner.java 6 Sep 2004 17:00:08 -0000 1.3 +++ javax/swing/JSpinner.java 27 Sep 2004 06:22:42 -0000 @@ -113,26 +113,40 @@ PropertyChangeListener, LayoutManager { + private JSpinner spinner; + /** * For compatability with Sun's JDK 1.4.2 rev. 5 */ private static final long serialVersionUID = -5317788736173368172L; /** - * Creates a new DefaultEditor object. + * Creates a new DefaultEditor object. * - * @param spinner DOCUMENT ME! + * @param spinner the JSpinner associated with this editor */ public DefaultEditor(JSpinner spinner) { + this.spinner = spinner; + spinner.addChangeListener(this); - } /* TODO */ + } + + /** + * Returns the JSpinner object for this editor. + */ + public JSpinner getSpinner() + { + return spinner; + } + /** * DOCUMENT ME! */ public void commitEdit() { } /* TODO */ + /** * DOCUMENT ME! * @@ -152,6 +166,7 @@ { return null; } /* TODO */ + /** * DOCUMENT ME! * @@ -160,6 +175,7 @@ public void layoutContainer(Container parent) { } /* TODO */ + /** * DOCUMENT ME! * @@ -171,6 +187,7 @@ { return null; } /* TODO */ + /** * DOCUMENT ME! * @@ -182,22 +199,25 @@ { return null; } /* TODO */ + /** * DOCUMENT ME! * - * @param evt DOCUMENT ME! + * @param event DOCUMENT ME! */ - public void propertyChange(PropertyChangeEvent evt) + public void propertyChange(PropertyChangeEvent event) { } /* TODO */ + /** * DOCUMENT ME! * - * @param evt DOCUMENT ME! + * @param event DOCUMENT ME! */ - public void stateChanged(ChangeEvent evt) + public void stateChanged(ChangeEvent event) { } /* TODO */ + /* no-ops */ public void removeLayoutComponent(Component child) { @@ -235,6 +255,16 @@ } /** + * Creates a new NumberEditor object. + * + * @param spinner DOCUMENT ME! + */ + public NumberEditor(JSpinner spinner, String decimalFormatPattern) + { + super(spinner); + } + + /** * DOCUMENT ME! * * @return DOCUMENT ME! @@ -243,6 +273,11 @@ { return null; } + + public SpinnerNumberModel getModel() + { + return (SpinnerNumberModel) getSpinner().getModel(); + } } /** DOCUMENT ME! */ @@ -347,6 +382,29 @@ } /** + * Sets a new underlying model. + * + * @param newModel the new model to set + * + * @exception IllegalArgumentException if newModel is null + */ + public void setModel(SpinnerModel newModel) + { + if (newModel == null) + throw new IllegalArgumentException(); + + if (model == newModel) + return; + + SpinnerModel oldModel = model; + model = newModel; + firePropertyChange("model", oldModel, newModel); + + if (editor == null) + setEditor(createEditor(model)); + } + + /** * Gets the next value without changing the current value. * * @return the next value