FormattedSample.java Source code

Java tutorial

Introduction

Here is the source code for FormattedSample.java

Source

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.text.DateFormatter;
import javax.swing.text.DefaultFormatterFactory;

public class FormattedSample {
    public static void main(final String args[]) {
        JFrame frame = new JFrame("Formatted Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        DateFormat displayFormat = new SimpleDateFormat("yyyy--MMMM--dd");
        DateFormatter displayFormatter = new DateFormatter(displayFormat);
        DateFormat editFormat = new SimpleDateFormat("MM/dd/yy");
        DateFormatter editFormatter = new DateFormatter(editFormat);
        DefaultFormatterFactory factory = new DefaultFormatterFactory(displayFormatter, displayFormatter,
                editFormatter);
        JFormattedTextField date2TextField = new JFormattedTextField(factory, new Date());
        frame.add(date2TextField, BorderLayout.NORTH);

        ActionListener actionListener = new ActionListener() {
            public void actionPerformed(ActionEvent actionEvent) {
                JFormattedTextField source = (JFormattedTextField) actionEvent.getSource();
                Object value = source.getValue();
                System.out.println("Class: " + value.getClass());
                System.out.println("Value: " + value);
            }
        };
        date2TextField.addActionListener(actionListener);

        frame.add(new JTextField(), BorderLayout.SOUTH);
        frame.setSize(250, 100);
        frame.setVisible(true);
    }
}