xqzz.net
当前位置:首页 >> jAvA,我添加的键盘监听类为什么就是没有反应呢? >>

jAvA,我添加的键盘监听类为什么就是没有反应呢?

Java中有一个不成文的规定,类的首字母都最好大写,而方法的首字母都最好小写,Java的API类和方法都遵守这样的规定.所以你的KeyMonitor类中的函数名首字母都应该小写,也就是说把函数名KeyPressed和KeyReleased改成keyPressed和keyReleased.(首字母...

import java.awt.*; import java.awt.event.*; import javax.swing.*; class Animation extends JFrame implements Runnable, ActionListener, KeyListener { private Container cont; private JButton btnUp; private JButton btnDown; private...

哇,真的是大家来找茬一样。 最后发现了你的keyMonitor类没有重写keyAdapter的方法,而是自己弄了两个新方法,所以不会输出你的“按下”“松开”了

哥。。。你仔细检查下你的代码public void launchFrame(){super.lanuchFrame();//增加键盘的监听addKeyListener(new KeyMonitor());}launchFrame->lanuchFrame(第3、4个字母)

能获取焦点的组件,才能侦听键盘事件 ~~~~~~~~~~~~~~~

KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager(); manager.addKeyEventPostProcessor(new KeyEventPostProcessor() { @Override public boolean postProcessKeyEvent(KeyEvent e) { if (e.getID() == K...

这个问题我以前也遇到过 不应该将键盘监听事件加在JFrame上 应该加在按钮上 因为JFrame整个都被JPanel和JButton挡住了 吧this.addKeyListener(this);改成b.addKeyListener(this); 就可以了

就是楼上的意思,失去了焦点,要在Framel类的构造器的最后加上 panel.requestFocus();

JPanel不是焦点组件,不会监听到键盘事件的 键盘事件得在能获取焦点的组件上。 ~ ~ ~

不要使用keyTyped、而是使用keyPressed方法 bt.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e){ if(KeyEvent.VK_ESCAPE==e.getKeyCode()){ System.exit(0); } } });

网站首页 | 网站地图
All rights reserved Powered by www.xqzz.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com