import java.awt.*;
import java.awt.event.*;
public class TestKey {
public static void main(String[]args){
MyFrame mf=new MyFrame();
mf.launchFrame();
}
}
class MyFrame extends Frame{
public void launchFrame(){
setBounds(300,300,300,500);
setVisible(true);
this.addKeyListener(new Monitor());
}
private class Monitor extends KeyAdapter{
public void keyPressed(KeyEvent e){
int keycode=e.getKeyCode();
if(keycode==KeyEvent.VK_0 ){
System.out.println("nihao");
}
}
}
}
不知道哪里出错了
------解决方案--------------------------------------------------------
我测试了,输入VK_0可以在控制台输出nihao,但是你没有设定如何关闭程序,需要在任务管理器里面结束进程。
------解决方案--------------------------------------------------------
我就是在Eclipse里面运行了你的代码...
------解决方案--------------------------------------------------------
能运行,按"0",控制台出字符"nihao".
------解决方案--------------------------------------------------------
测试后, 没有设置默认的关闭隐藏按钮,继承JFrame类更好吧。可以按‘0’打印出‘nihao’.
修改后
- Java code
class MyFrame extends JFrame{ public void launchFrame(){ setBounds(300,300,300,500); setVisible(true); this.addKeyListener(new Monitor()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }
------解决方案--------------------------------------------------------
程序正常运行。估计是你开发环境的问题。
------解决方案--------------------------------------------------------
我在GIM 编辑器 ,命令窗口下运行的,没有错误呀!!!