JSpinner: setEditor(JComponent editor) : JSpinner « javax.swing « Java by API






JSpinner: setEditor(JComponent editor)

 
import java.awt.Container;
import java.awt.GridLayout;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.SpinnerListModel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class MainClass extends JFrame {

  public MainClass() {
    super("JSpinner Icon Test");
    setSize(300, 80);
    setDefaultCloseOperation(EXIT_ON_CLOSE);

    Container c = getContentPane();
    c.setLayout(new GridLayout(0, 2));

    Icon nums[] = new Icon[] { new ImageIcon("1.gif"), new ImageIcon("2.gif"),
        new ImageIcon("3.gif"), new ImageIcon("4.gif"), new ImageIcon("5.gif"),
        new ImageIcon("6.gif") };
    JSpinner s1 = new JSpinner(new SpinnerListModel(nums));
    s1.setEditor(new IconEditor(s1));
    c.add(new JLabel(" Icon Spinner"));
    c.add(s1);

    setVisible(true);
  }

  public static void main(String args[]) {
    new MainClass();
  }
}

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;
  }
}

           
         
  








Related examples in the same category

1.new JSpinner.DateEditor(JSpinner spinner, String dateFormatPattern)
2.JSpinner.NumberEditor.NumberEditor(JSpinner spinner)
3.new JSpinner(SpinnerModel model2)
4.new JSpinner(SpinnerModel model1) (SpinnerDateModel)
5.JSpinner: addChangeListener(ChangeListener lis)
6.JSpinner: getModel()
7.JSpinner: setValue(Object value)