MSeries.ui.MDateEntryFieldDemo


back

 

Installation

Save the jar in a directory that is on the classpath. Run the demo class by typing

 java -jar MDateSelector.jar

or

java -classpath .\MDateSelector.jar mseries.ui.MDateEntryFieldDemo 
 

Source Code

The complete source for the demo is given below. Source for all the classes can be downloaded

/*
*   Copyright (c) 2000 Martin Newstead.  All Rights Reserved.
* 
*   The author makes no representations or warranties about the suitability of the
*   software, either express or implied, including but not limited to the
*   implied warranties of merchantability, fitness for a particular
*   purpose, or non-infringement. The author shall not be liable for any damages
*   suffered by licensee as a result of using, modifying or distributing
*   this software or its derivatives.
*
*   The author requests that he be notified of any application, applet, or other binary that 
*   makes use of this code and that some acknowedgement is given. Comments, questions and 
*   requests for change will be welcomed.
*/
package mseries.ui;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;
import java.util.*;
import mseries.ui.*;
import mseries.Calendar.*;


public class MDateEntryFieldDemo
{

    public static void main(String[] argv)
    {
        String build="";
        String date="";

        //Locale.setDefault(new Locale("de", "DE"));
        try
        {
            //UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch(Exception e)
        {
        }
        try
        {
            ResourceBundle rb=ResourceBundle.getBundle("build");
            build=rb.getString("build.number");
            date=rb.getString("build.date");
        }
        catch(Exception e)
        {
            System.out.println(e);
        }
        final JFrame frame = new JFrame("Test Window "+build+" "+date);

        frame.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e) 
            {
                System.exit(0);
            }
        });

        /*---------------- MDateEntryField ------------------*/
        MDateEntryField entryField = new MDateEntryField(10);

        entryField.setDateFormatter(new MSimpleDateFormat("dd/MM/yyyy"));
        entryField.setValue(new Date());

        MDefaultPullDownConstraints c = new MDefaultPullDownConstraints();
        c.firstDay = Calendar.MONDAY;
        c.changerStyle=MDateChanger.SPINNER;
        entryField.setConstraints(c);

        entryField.addMFieldListener(new MFieldListener(){
            public void fieldEntered(FocusEvent e)
            {
                System.out.println("MDateEntryField:Entered");
            }
            public void fieldExited(FocusEvent e)
            {
                System.out.println("MDateEntryField:Exited");
            }
        });
        entryField.setToolTipText("Click the button");

        /*---------------- MSpinner  for Dates------------------*/
        MSpinner month=new MSpinner(7);
        month.setModel(new MDateSpinnerModel());
        month.setEditor(new DateEditor("dd/MM/yyyy"));

        month.addMFieldListener(new MFieldListener()
            {
                public void fieldEntered(FocusEvent e)
                {
                    System.out.println("MSpinner (Date):Entered");
                }
                public void fieldExited(FocusEvent e)
                {
                    System.out.println("MSpinner (Date):Exited");
                }
            }
        );

        month.addMChangeListener(new MChangeListener()
            {
                public void valueChanged(MChangeEvent e)
                {
                    System.out.println("MSpinner(Date):Changed "+e.getValue());
                }
            }
        );

        month.setToolTipText("Select a date/time portion and click a button");

        /*---------------- MDateField ------------------*/
        MDateField endDate = new MDateField();
        endDate.setPopup(true);
        endDate.setToolTipText("Right click me");


        /*---------------- MSpinner for Integers ------------------*/
        MSpinner integerSpinner=new MSpinner(7);
        integerSpinner.setModel(new MIntegerSpinnerModel(0, 100, 0, 1, true));
        integerSpinner.setEditor(new IntegerEditor());
        integerSpinner.addMChangeListener(new MChangeListener() {
            public void valueChanged(MChangeEvent e)
            {
                System.out.println("MIntegerSpinner:Changed "+e.getValue());
            }
        });

        integerSpinner.setToolTipText("Click the field, then click the buttons");

        /*---------------- Lay out the frame ----------------*/
        GridLayout l = new GridLayout(2, 4, 7, 7);
        JPanel displayPanel = new JPanel(l);

        displayPanel.add(new JLabel("MDateEntryField"));
        displayPanel.add(entryField);
        displayPanel.add(new JLabel("MSpinner (Date)"));
        displayPanel.add(month);
        displayPanel.add(new JLabel("MDateSelector (Right Click)"));
        displayPanel.add(endDate);
        displayPanel.add(new JLabel("MSpinner (Integer)"));
        displayPanel.add(integerSpinner);

        frame.getContentPane().setLayout(new FlowLayout());
        frame.getContentPane().add(displayPanel);

        frame.pack();
        frame.show();
    }
} 
 

Downloads

The jar, source code and javadocs may be downloaded from the downloads page.


Smallprint
All responsibility is accepted in downloading this software. No warranties are given. Time and effort has been expended in producing this software, please inform me if you intend to use my code in production applications. Some acknowledgement in your application would be cool too- Thanks
webmaster@brundell.fsnet.co.uk