Mega Code Archive

 
Categories / Java / Swing JFC
 

A quick test of various spinners

/* Java Swing, 2nd Edition By Marc Loy, Robert Eckstein, Dave Wood, James Elliott, Brian Cole ISBN: 0-596-00408-7 Publisher: O'Reilly  */ // SwingSpinnerTest.java //A quick test of various spinners. // import java.awt.Container; import java.awt.GridLayout; import java.util.List; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JSpinner; import javax.swing.SpinnerDateModel; import javax.swing.SpinnerListModel; import javax.swing.SpinnerNumberModel; public class SwingSpinnerTest extends JFrame {   public SwingSpinnerTest() {     super("JSpinner Test");     setSize(300, 180);     setDefaultCloseOperation(EXIT_ON_CLOSE);     Container c = getContentPane();     c.setLayout(new GridLayout(0, 2));     c.add(new JLabel(" Basic Spinner"));     c.add(new JSpinner());     c.add(new JLabel(" Date Spinner"));     c.add(new JSpinner(new SpinnerDateModel()));     String weekdays[] = new String[] { "Sunday", "Monday", "Tuesday",         "Wednesday", "Thursday", "Friday", "Saturday" };     c.add(new JLabel(" List Spinner"));     c.add(new JSpinner(new SpinnerListModel(weekdays)));     c.add(new JLabel(" Number Spinner"));     c.add(new JSpinner(new SpinnerNumberModel(0, 0, 100, 5)));     c.add(new JLabel(" Rollover List Spinner"));     c.add(new JSpinner(new RolloverSpinnerListModel(weekdays)));     setVisible(true);   }   public static void main(String args[]) {     new SwingSpinnerTest();   } } class RolloverSpinnerListModel extends SpinnerListModel {   public RolloverSpinnerListModel(Object[] items) {     super(items);   }   public RolloverSpinnerListModel(List items) {     super(items);   }   public Object getNextValue() {     Object nv = super.getNextValue();     if (nv != null) {       return nv;     }     return getList().get(0);   }   public Object getPreviousValue() {     Object pv = super.getPreviousValue();     if (pv != null) {       return pv;     }     List l = getList();     return l.get(l.size() - 1);   } }