Open In App

Java KeyListener in AWT

Last Updated : 07 Nov, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

The Java KeyListener in the Abstract Window Toolkit (AWT) is a fundamental tool for achieving this. The KeyListener Interface is found in “java.awt.event” package. In this article, we’ll explore what the KeyListener is, and its declaration methods, and supply examples with explanatory comments.

Java KeyListener in AWT

The KeyListener port in Java AWT is quite used to listen for keyboard events, such as key presses and key releases. It allows your program to respond to user input from the keyboard, which is crucial for building interactive applications.

Declaring KeyListener

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.

Example of Java KeyListener

Example 1:

Below is the implementation of the Java KeyListener:

Java




// 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);
          
        // Make the frame visible
        setVisible(true);
    }
  
    // Implement the keyPressed method
    @Override
    public void keyPressed(KeyEvent e) {
        // You can add custom logic here if needed
    }
  
    // Implement the keyReleased method
    @Override
    public void keyReleased(KeyEvent e) {
        // You can add custom logic here if needed
    }
  
    // Implement the keyTyped method
    @Override
    public void keyTyped(KeyEvent e) {
        char keyChar = e.getKeyChar();
        displayLabel.setText("Typed Text: " + textField.getText() + keyChar);
    }
  
    public static void main(String[] args) {
        new KeyListenerExample();
    }
}


Output:

Output of Example 1 of Java KeyListener

Example 2:

Below is the implementation of Java KeyListener:

Java




//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 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);
          
        // Make the frame visible
        setVisible(true);
    }
  
    // Implement the keyPressed method
    @Override
    public void keyPressed(KeyEvent e) {
        int keyCode = e.getKeyCode();
        System.out.println("Key Pressed: " + KeyEvent.getKeyText(keyCode));
    }
  
    // Implement the keyReleased method
    @Override
    public void keyReleased(KeyEvent e) {
        int keyCode = e.getKeyCode();
        System.out.println("Key Released: " + KeyEvent.getKeyText(keyCode));
    }
  
    // Implement the keyTyped method
    @Override
    public void keyTyped(KeyEvent e) {
        char keyChar = e.getKeyChar();
        System.out.println("Key Typed: " + keyChar);
        displayLabel.setText("Typed Text: " + textField.getText() + keyChar);
    }
  
    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



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads