Swing JFC Java

import javax.swing.Icon;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
class IconEditor extends JLabel implements ChangeListener {
  JSpinner spinner;
  Icon icon;
  public IconEditor(JSpinner s) {
    super((Icon)s.getValue(), CENTER);
    icon = (Icon)s.getValue();
    spinner = s;
    spinner.addChangeListener(this);
  }
  public void stateChanged(ChangeEvent ce) {
    icon = (Icon)spinner.getValue();
    setIcon(icon);
  }
  public JSpinner getSpinner() { return spinner; }
  public Icon getIcon() { return icon; }
}