在JFrame里编写一个panel,在panel上添加KeyListener,统计出敲击键盘a到z的次数,实时显示到控制台上。
时间: 2024-02-22 13:57:05 浏览: 85
用J2ME 规定时间内 记录按键次数的小程序
5星 · 资源好评率100%
好的,您可以参考下面的代码实现:
```java
import java.awt.event.*;
import javax.swing.*;
public class KeyListenerDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("KeyListener Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JLabel label = new JLabel("键盘输入统计:");
JTextField textField = new JTextField(20);
panel.add(label);
panel.add(textField);
frame.add(panel);
frame.pack();
frame.setVisible(true);
textField.requestFocusInWindow(); // 让文本框获得焦点
// 添加键盘监听器
textField.addKeyListener(new KeyAdapter() {
int[] counter = new int[26]; // 用于统计 a 到 z 的次数
@Override
public void keyPressed(KeyEvent e) {
char c = e.getKeyChar();
if (c >= 'a' && c <= 'z') {
counter[c - 'a']++; // 统计次数
System.out.println("键盘输入:" + c + ",出现次数:" + counter[c - 'a']);
}
}
});
}
}
```
这个程序创建了一个 JFrame 窗口,在窗口中添加了一个 JPanel,并在 JPanel 上添加了一个 JTextField 组件。然后,将键盘监听器添加到 JTextField 组件上,每次敲击 a 到 z 的键时,统计次数并将其输出到控制台上。
阅读全文