DELEGATION MODEL

19. Java Program to Validate the TextField for only entering numbers using KeyListener

            import java.awt.*;
            import java.awt.event.*;
            
            public class EmailTextFieldApp extends Frame {
            
                private TextField emailField;
            
                public EmailTextFieldApp() {
                    // Set up the frame
                    setTitle("Email Text Field Validation");
                    setSize(300, 150);
                    setLayout(new FlowLayout());
            
                    // Create a TextField for email input
                    emailField = new TextField(20);
            
                    // Add KeyAdapter to validate email input
                    emailField.addKeyListener(new KeyAdapter() {
                        
                        public void keyTyped(KeyEvent e) {
                            char c = e.getKeyChar();
                            // Allowed characters for email addresses
                            if (!(Character.isLetterOrDigit(c) || c == '@' || c == '.' || c == '_' || c == '-')) {
                                e.consume(); // Consume the event to prevent the character from being typed
                            }
                        }
                    });
            
                    // Add components to the frame
                    add(new Label("Enter your email:"));
                    add(emailField);
            
                    // Set up close operation
                    addWindowListener(new WindowAdapter() {
                        public void windowClosing(WindowEvent windowEvent) {
                            System.exit(0);
                        }
                    });
                }
            
                public static void main(String[] args) {
                    // Create and show the frame
                    EmailTextFieldApp app = new EmailTextFieldApp();
                    app.setVisible(true);
                }
            }
        

OUTPUT

emailimage