Java KeyListener in AWT

Last Updated : 4 Apr, 2026

The KeyListener interface in Java AWT is used to handle keyboard events in GUI applications. It allows programs to detect and respond to user key actions like pressing or releasing keys.

  • Listens to keyboard events such as keyPressed, keyReleased, and keyTyped
  • Part of the java.awt.event package
  • Used to build interactive and user-friendly applications

Declaration

public interface KeyListener extends EventListener

Methods of Java KeyListener in AWT

The KeyListener port defines three methods that you must implement:

Method

Description

keyPressed(KeyEvent e)

Invoked when a key is pressed down.

keyReleased(KeyEvent e)

Called when a key is released.

keyTyped(KeyEvent e)

Fired when a key press/release results in a character.

Examples of Java KeyListener

Example 1: Java program to demonstrate textfield and display typed text using KeyListener

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

public class KeyListenerExample extends Frame implements KeyListener {

    private TextField textField;
    private Label displayLabel;

    // Constructor
    public KeyListenerExample() {
        // Set frame properties
        setTitle("Typed Text Display");
        setSize(400, 200);
        setLayout(new FlowLayout());

        // Create and add a TextField for text input
        textField = new TextField(20);
        textField.addKeyListener(this);
        add(textField);

        // Create and add a Label to display typed text
        displayLabel = new Label("Typed Text: ");
        add(displayLabel);

        // Ensure the frame can receive key events
        setFocusable(true);
        setFocusTraversalKeysEnabled(false);

        // Center the window (optional improvement)
        setLocationRelativeTo(null);

        // Make the frame visible
        setVisible(true);
    }

    // Implement the keyPressed method
    @Override
    public void keyPressed(KeyEvent e) {
        // Optional logic
    }

    // Implement the keyReleased method
    @Override
    public void keyReleased(KeyEvent e) {
        // Optional logic
    }

    // Implement the keyTyped method
    @Override
    public void keyTyped(KeyEvent e) {
        displayLabel.setText("Typed Text: " + textField.getText());
    }

    public static void main(String[] args) {
        new KeyListenerExample();
    }
}

Output:

Output of Example 1 of Java KeyListener

Example 2: Java program to demonstrate keyPressed, keyReleased and keyTyped method

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

public class KeyListenerExample extends Frame implements KeyListener {

    private TextField textField;
    private Label displayLabel;

    // Constructor
    public KeyListenerExample() {
        // Set frame properties
        setTitle("Typed Text Display");
        setSize(400, 200);
        setLayout(new FlowLayout());

        // Create and add a TextField
        textField = new TextField(20);
        textField.addKeyListener(this);
        add(textField);

        // Create and add a Label
        displayLabel = new Label("Typed Text: ");
        add(displayLabel);

        // Handle window closing
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                dispose();
            }
        });

        // Ensure focus
        setFocusable(true);
        setFocusTraversalKeysEnabled(false);

        // Center window
        setLocationRelativeTo(null);

        // Make visible
        setVisible(true);
    }

    @Override
    public void keyPressed(KeyEvent e) {
        System.out.println("Key Pressed: " + KeyEvent.getKeyText(e.getKeyCode()));
    }

    @Override
    public void keyReleased(KeyEvent e) {
        System.out.println("Key Released: " + KeyEvent.getKeyText(e.getKeyCode()));
    }

    @Override
    public void keyTyped(KeyEvent e) {
        System.out.println("Key Typed: " + e.getKeyChar());
        displayLabel.setText("Typed Text: " + textField.getText());
    }

    public static void main(String[] args) {
        new KeyListenerExample();
    }
}

Output:
Output of Example2 of Java KeyListener

Terminal Showing the Key Presses:
keyPressed, keyTyped, keyReleased_example_output

Comment