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);
Nội dung chính
Ví dụ về Java KeyListener trong Java AWT
package vn.kienthuclaptrinh.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ụ 2 về Java KeyListener trong Java AWT - Đếm số từ và ký tự
package vn.kienthuclaptrinh.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ả: