在JFrame中编写一个Panel上统计出敲键盘a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z的次数,实时显示到控制台,JFrame的名称为软开214谢佳辉
时间: 2023-07-27 09:25:04 浏览: 92
在框架中显示信息-Java_GUI设计与实现
好的,我来给你编写一个示例代码,实现这个功能:
```java
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class KeyboardCountDemo extends JPanel implements KeyListener {
private int[] counts = new int[26]; // 统计每个字母出现的次数
public KeyboardCountDemo() {
// 注册键盘监听器
addKeyListener(this);
setFocusable(true);
}
// 实现 KeyListener 接口的方法
public void keyPressed(KeyEvent e) {
char c = e.getKeyChar();
if (c >= 'a' && c <= 'z') {
int index = c - 'a';
counts[index]++;
System.out.println("按键 " + c + " 的次数为 " + counts[index]);
}
}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {}
public static void main(String[] args) {
JFrame frame = new JFrame("软开214谢佳辉");
KeyboardCountDemo panel = new KeyboardCountDemo();
frame.setContentPane(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
}
}
```
这段代码创建了一个 JPanel,实现了 KeyListener 接口,用于统计用户敲击键盘的字母次数。在 `keyPressed()` 方法中,我们判断用户敲击的是否是字母,并更新对应字母的计数器,然后将结果输出到控制台。`main()` 方法中创建了一个 JFrame,并将 JPanel 添加到其中。
你可以将这段代码复制到 Eclipse 或其他 Java IDE 中,运行起来看看效果。
阅读全文