The Java Program: Main.java

  1 import java.awt.*;
  2 import java.awt.event.*;
  3 import javax.swing.*;
  4 import java.util.*;
  5 import java.beans.*;
  6 
  7 public final class Main extends JFrame {
  8 
  9    private Main () {
 10       super ("Date Spinner");
 11       Calendar calendar = new GregorianCalendar();
 12       Date initDate = calendar.getTime();
 13       calendar.add (Calendar.YEAR, -200);
 14       Date earliestDate = calendar.getTime();
 15       calendar.add (Calendar.YEAR, 400);
 16       Date latestDate = calendar.getTime();
 17       // Field selected by user is the value changed (not necessarily the one chosen here)
 18       final SpinnerDateModel model = new SpinnerDateModel (initDate, earliestDate, latestDate, Calendar.DAY_OF_MONTH);
 19       final JSpinner spinner = new JSpinner (model);
 20       spinner.setEditor (new JSpinner.DateEditor (spinner, "EEE, d MMM yyyy"));
 21       spinner.setBorder (BorderFactory.createEmptyBorder(10,10,10,10));
 22       getContentPane().add(spinner);
 23       setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); // Requires Java 1.3
 24       pack();
 25       setVisible(true);
 26    }
 27 
 28    public static void createAndShowGUI () {
 29       JFrame.setDefaultLookAndFeelDecorated(true);
 30       final JFrame frame = new Main ();
 31       frame.pack();
 32       frame.setVisible(true);
 33    }
 34 
 35    public static void main (String[] args) {
 36       SwingUtilities.invokeLater (new Runnable () {
 37           public void run() { createAndShowGUI();}
 38       });
 39    }
 40 }