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
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:

Example 2: Java program to demonstrate keyPressed, keyReleased and keyTyped method
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();
}
}

