Java tutorial
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); } }