当前位置: 代码迷 >> Java相关 >> [求助]一个关于KeyEvent的问题
  详细解决方案

[求助]一个关于KeyEvent的问题

热度:182   发布时间:2007-09-30 11:13:35.0
[求助]一个关于KeyEvent的问题

题目是:
请设计一程序,只能对Frame窗口输入0到9的数字,若输入其他的字符,则产生错误信息。
我的程序:
import java.awt.*;
import java.awt.event.*;

public class Programe {
public static void main(String[] args) {
Frame f = new Frame("Input Test");

f.addWindowListener(new WindowTest());
f.addKeyListener(new KeyTest());
f.setSize(300,200);
f.setVisible(true);
}
}

class WindowTest extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}

class KeyTest extends KeyAdapter {
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() < 48 && e.getKeyCode() >57) {
System.out.println("Error");
return;
}
System.out.println(e.getKeyChar());
}
}
为什么还是能输入其他字符而不报错?

搜索更多相关的解决方案: KeyEvent  

----------------解决方案--------------------------------------------------------
回复:(JAVASE)[求助]一个关于KeyEvent的问题
class KeyTest extends KeyAdapter {
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() < 48 &&/* 这儿是错的,应该是|| */e.getKeyCode() >57) {
System.out.println("Error");
return;
}
System.out.println(e.getKeyChar());
}
}
应该是||

----------------解决方案--------------------------------------------------------
可以运行了,谢谢你了Lovedandan!!
基本功还是要扎实一下啊,呵呵
----------------解决方案--------------------------------------------------------
我也有个问题 求解答
在keylistener 中CTRL是用什么表示啊?
ctrl ===>什么 vk_?
----------------解决方案--------------------------------------------------------