Java by API/javax.swing.text/MaskFormatter

Материал из Java эксперт
Перейти к: навигация, поиск

MaskFormatter; setPlaceholderCharacter(char placeholder)

   <source lang="java">

import java.awt.FlowLayout; import java.text.ParseException; import javax.swing.BoxLayout; import javax.swing.JFormattedTextField; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.text.MaskFormatter; public class MainClass {

 public static void main(String args[]) throws Exception {
   JFrame frame = new JFrame("Mask Input");
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JLabel label;
   JFormattedTextField input;
   JPanel panel;
   MaskFormatter formatter;
   try {
     label = new JLabel("US Phone");
     formatter = new MaskFormatter(""(###")" ###"-####");
     formatter.setPlaceholderCharacter("*");
     input = new JFormattedTextField(formatter);
     input.setColumns(20);
     panel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
     panel.add(label);
     panel.add(input);
     frame.add(panel);
   } catch (ParseException e) {
     System.err.println("Unable to add Phone");
   }
   frame.pack();
   frame.setVisible(true);
 }

}


      </source>
   
  
 
  



new MaskFormatter("###-##-####")

   <source lang="java">

import java.awt.BorderLayout; import java.text.ParseException; import javax.swing.Box; import javax.swing.JFormattedTextField; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.text.MaskFormatter; public class MainClass {

 public static void main(String args[]) {
   JFrame f = new JFrame("JFormattedTextField Sample");
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Box rowOne = Box.createHorizontalBox();
   rowOne.add(new JLabel("SSN:"));
   try {
     MaskFormatter mf1 = new MaskFormatter("###-##-####");
     rowOne.add(new JFormattedTextField(mf1));
   } catch (ParseException e) {
   }
   f.add(rowOne, BorderLayout.NORTH);
   f.setSize(300, 100);
   f.setVisible(true);
 }

}

      </source>
   
  
 
  



new MaskFormatter("(###) ###-####") (2)

   <source lang="java">

import java.awt.BorderLayout; import java.text.ParseException; import javax.swing.Box; import javax.swing.JFormattedTextField; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.text.MaskFormatter; public class MainClass {

 public static void main(String args[]) {
   JFrame f = new JFrame("JFormattedTextField Sample");
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Box rowOne = Box.createHorizontalBox();
   rowOne.add(new JLabel("SSN:"));
   try {
     MaskFormatter mf1 = new MaskFormatter("(###) ###-####");
     rowOne.add(new JFormattedTextField(mf1));
   } catch (ParseException e) {
   }
   f.add(rowOne, BorderLayout.NORTH);
   f.setSize(300, 100);
   f.setVisible(true);
 }

}

      </source>
   
  
 
  



new MaskFormatter("LLLL")

   <source lang="java">

import java.awt.BorderLayout; import java.text.ParseException; import javax.swing.JFormattedTextField; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.border.TitledBorder; import javax.swing.text.DefaultFormatterFactory; import javax.swing.text.MaskFormatter; public class MainClass {

 public static JPanel demo1() {
   JPanel pan = new JPanel(new BorderLayout());
   pan.setBorder(new TitledBorder("Demo 1: format toggles with focus"));
   MaskFormatter withFocus = null, withoutFocus = null;
   try {
     withFocus = new MaskFormatter("LLLL");
     withoutFocus = new MaskFormatter("UUUU");
   } catch (ParseException pe) {
   }
   DefaultFormatterFactory factory = new DefaultFormatterFactory(withoutFocus, null, withFocus);
   JFormattedTextField field = new JFormattedTextField(factory);
   field.setValue("Four");
   pan.add(field, BorderLayout.CENTER);
   return pan;
 }
 public static void main(String argv[]) {
   JFrame f = new JFrame("FactoryDemo");
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   f.getContentPane().add(demo1(), BorderLayout.NORTH);
   f.getContentPane().add(new JTextField(), BorderLayout.SOUTH);
   f.setSize(240, 160);
   f.setVisible(true);
 }

}

      </source>
   
  
 
  



new MaskFormatter("UUUU")

   <source lang="java">

import java.awt.BorderLayout; import java.text.ParseException; import javax.swing.JFormattedTextField; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.border.TitledBorder; import javax.swing.text.DefaultFormatterFactory; import javax.swing.text.MaskFormatter; public class MainClass {

 public static JPanel demo1() {
   JPanel pan = new JPanel(new BorderLayout());
   pan.setBorder(new TitledBorder("Demo 1: format toggles with focus"));
   MaskFormatter withFocus = null, withoutFocus = null;
   try {
     withFocus = new MaskFormatter("LLLL");
     withoutFocus = new MaskFormatter("UUUU");
   } catch (ParseException pe) {
   }
   DefaultFormatterFactory factory = new DefaultFormatterFactory(withoutFocus, null, withFocus);
   JFormattedTextField field = new JFormattedTextField(factory);
   field.setValue("Four");
   pan.add(field, BorderLayout.CENTER);
   return pan;
 }
 public static void main(String argv[]) {
   JFrame f = new JFrame("FactoryDemo");
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   f.getContentPane().add(demo1(), BorderLayout.NORTH);
   f.getContentPane().add(new JTextField(), BorderLayout.SOUTH);
   f.setSize(240, 160);
   f.setVisible(true);
 }

}

      </source>