Make custom Input Text Formatter in Java : Format « Development Class « Java





Make custom Input Text Formatter in Java

   

import java.awt.BorderLayout;
import java.text.ParseException;

import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.text.DefaultFormatter;

class MyFormatter extends DefaultFormatter {

  public MyFormatter() {
    super();
  }

  public String valueToString(Object arg0) throws ParseException {
    return super.valueToString(arg0);
  }

  public Object stringToValue(String arg0) throws ParseException {
    try {
      int value = Integer.parseInt(arg0);
      if (value >= 1 && value <= 10) {
        return "" + value;
      } else {
        return "Invalid";
      }
    } catch (Exception e) {
      return "Invalid";
    }
  }
}

public class Main extends JFrame {
  public Main() {
    JPanel panel = new JPanel();
    JLabel label = new JLabel("Number :");
    JFormattedTextField tf = new JFormattedTextField(new MyFormatter());
    tf.setColumns(10);
    panel.add(label);
    panel.add(tf);
    getContentPane().add(panel, BorderLayout.SOUTH);
    pack();
  }
  public static void main(String[] args) {
    Main mfe = new Main();
    mfe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    mfe.setVisible(true);
  }
}

   
    
    
  










Related examples in the same category

1.String Align Demo: extends FormatString Align Demo: extends Format
2.Format SizeFormat Size
3.Get Percent Value
4.A format for String objects that is easier to persist
5.Int format and conversion
6.The # symbol shows a digit or nothing if no digit present