KeyListener trong Java AWT – VietTuts

Java KeyListener được gọi bất cứ khi nào bạn thay đổi trạng thái của bàn phím (key). Interface KeyListener thuộc về gói java.awt.event. Nó có ba phương thức.

Các phương thức của interface KeyListener

Interface KeyListener có 3 phương thức được đưa ra như dưới đây.

public abstract void keyPressed(KeyEvent e);  
public abstract void keyReleased(KeyEvent e);  
public abstract void keyTyped(KeyEvent e);  

Ví dụ về Java KeyListener trong Java AWT

package vn.viettuts.awt;

import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class KeyListenerExample1 extends Frame implements KeyListener {
    private Label label;
    private TextArea textArea;

    public KeyListenerExample1() {
        label = new Label();
        label.setBounds(20, 50, 100, 20);
        textArea = new TextArea();
        textArea.setBounds(20, 80, 300, 300);
        textArea.addKeyListener(this);

        add(label);
        add(textArea);
        setSize(400, 400);
        setLayout(null);
        setVisible(true);
    }

    public void keyPressed(KeyEvent e) {
        label.setText("Key Pressed");
    }

    public void keyReleased(KeyEvent e) {
        label.setText("Key Released");
    }

    public void keyTyped(KeyEvent e) {
        label.setText("Key Typed");
    }

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

Kết quả:

Ví dụ KeyListener trong Java AWT

Ví dụ 2 về Java KeyListener trong Java AWT – Đếm số từ và ký tự

package vn.viettuts.awt;

import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class KeyListenerExample2 extends Frame implements KeyListener {
    private Label label;
    private TextArea textArea;

    public KeyListenerExample2() {
        label = new Label();
        label.setBounds(20, 50, 200, 20);
        textArea = new TextArea();
        textArea.setBounds(20, 80, 300, 300);
        textArea.addKeyListener(this);

        add(label);
        add(textArea);
        setSize(400, 400);
        setLayout(null);
        setVisible(true);
    }

    public void keyPressed(KeyEvent e) {
    }

    public void keyReleased(KeyEvent e) {
        String text = textArea.getText();
        String words[] = text.split("\\s");
        label.setText("Words: " + words.length + " Characters:" + text.length());
    }

    public void keyTyped(KeyEvent e) {
    }

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

Kết quả:

Ví dụ KeyListener trong Java AWT