SimpleFTF.java Source code

Java tutorial

Introduction

Here is the source code for SimpleFTF.java

Source

/*
Java Swing, 2nd Edition
By Marc Loy, Robert Eckstein, Dave Wood, James Elliott, Brian Cole
ISBN: 0-596-00408-7
Publisher: O'Reilly 
*/
// SimpleFTF.java
//A quick demonstration of JFormattedTextField.
//

import javax.swing.BoxLayout;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class SimpleFTF extends JPanel {

    public SimpleFTF() {
        JFormattedTextField ftf[] = new JFormattedTextField[7];
        String des[] = new String[ftf.length]; // description of each field

        des[0] = "Date";
        ftf[0] = new JFormattedTextField(new java.util.Date());

        des[1] = "Integer";
        ftf[1] = new JFormattedTextField(new Integer(90032221));

        des[2] = "Float";
        ftf[2] = new JFormattedTextField(new Float(3.14));

        des[3] = "Float work-around"; // manually specify a NumberFormat
        ftf[3] = new JFormattedTextField(java.text.NumberFormat.getInstance());
        ftf[3].setValue(new Float(3.14));

        des[4] = "currency";
        ftf[4] = new JFormattedTextField(java.text.NumberFormat.getCurrencyInstance());
        ftf[4].setValue(new Float(5.99));

        des[5] = "percent";
        ftf[5] = new JFormattedTextField(java.text.NumberFormat.getPercentInstance());
        ftf[5].setValue(new Float(0.33));

        des[6] = "java.net.URL"; // works via 1-arg String constructor and
        // toString()
        java.net.URL u = null;
        try {
            u = new java.net.URL("http://www.ora.com/");
        } catch (java.net.MalformedURLException ignored) {
        }
        ftf[6] = new JFormattedTextField(u);
        ftf[6].setColumns(24);

        // add each ftf[] to a BoxLayout
        setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
        for (int j = 0; j < ftf.length; j += 1) {
            JPanel borderPanel = new JPanel(new java.awt.BorderLayout());
            borderPanel.setBorder(new javax.swing.border.TitledBorder(des[j]));
            borderPanel.add(ftf[j], java.awt.BorderLayout.CENTER);
            add(borderPanel);
        }
    }

    public static void main(String argv[]) {

        if (argv.length > 0) { // change to command-line locale
            if (argv[0].equalsIgnoreCase("canada"))
                java.util.Locale.setDefault(java.util.Locale.CANADA);
            if (argv[0].equalsIgnoreCase("canada_french"))
                java.util.Locale.setDefault(java.util.Locale.CANADA_FRENCH);
            if (argv[0].equalsIgnoreCase("china"))
                java.util.Locale.setDefault(java.util.Locale.CHINA);
            if (argv[0].equalsIgnoreCase("france"))
                java.util.Locale.setDefault(java.util.Locale.FRANCE);
            if (argv[0].equalsIgnoreCase("germany"))
                java.util.Locale.setDefault(java.util.Locale.GERMANY);
            if (argv[0].equalsIgnoreCase("italy"))
                java.util.Locale.setDefault(java.util.Locale.ITALY);
            if (argv[0].equalsIgnoreCase("japan"))
                java.util.Locale.setDefault(java.util.Locale.JAPAN);
            if (argv[0].equalsIgnoreCase("korea"))
                java.util.Locale.setDefault(java.util.Locale.KOREA);
            if (argv[0].equalsIgnoreCase("prc"))
                java.util.Locale.setDefault(java.util.Locale.PRC);
            if (argv[0].equalsIgnoreCase("taiwan"))
                java.util.Locale.setDefault(java.util.Locale.TAIWAN);
            if (argv[0].equalsIgnoreCase("uk"))
                java.util.Locale.setDefault(java.util.Locale.UK);
            if (argv[0].equalsIgnoreCase("us"))
                java.util.Locale.setDefault(java.util.Locale.US);
        }

        String localeString = java.util.Locale.getDefault().getDisplayName();
        JFrame f = new JFrame("SimpleFTF " + localeString);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setContentPane(new SimpleFTF());
        f.pack();
        f.setVisible(true);
    }
}