import java.awt.*;
import java.awt.event.*;

class Main extends Frame {
    Main() {
        super("InputEvent Example");
        TextField tf = new TextField(5);

        // Listen for text events.
        tf.addKeyListener(new KeyEventHandler());
        tf.setFont(new Font("Serif", Font.PLAIN, 14));

        add(new Label("ZipCode: ", Label.RIGHT), BorderLayout.WEST);
        add(tf, BorderLayout.CENTER);
        pack();
        show();
    }

    class KeyEventHandler extends KeyAdapter {
        public void keyPressed(KeyEvent evt) {
            char c = evt.getKeyChar();

            if (c >= 0x20 && c <= 0x7F && !Character.isDigit(c)) {
                // Only non-digit printable characters are consumed.
                evt.consume();
            } else if (Character.isDigit(c)
                  && ((TextComponent)evt.getComponent()).getText().length() >= 5) {
                // Text field must not have more than 5 digits.
                evt.consume();
            }
        }
    }
    
    public static void main(String args[]) {
        new Main();
    }
}

