当前位置: 技术问答>java相关
我用getKeyTyped()得到当前按下的按键,想让不符合要求的按键忽略掉,像没按一样,不知怎么做
来源: 互联网 发布时间:2015-09-01
本文导语: 我用getKeyTyped()得到当前按下的按键,想让不符合要求的按键忽略掉,像没按一样,不知怎么做 | 这样的,你知道授权事件模型吗?授权事件模型允许消耗事件(即键盘和鼠标事件),事件一旦被...
我用getKeyTyped()得到当前按下的按键,想让不符合要求的按键忽略掉,像没按一样,不知怎么做
|
这样的,你知道授权事件模型吗?授权事件模型允许消耗事件(即键盘和鼠标事件),事件一旦被消耗了,就不会传递给它的本地同位体。InputEvent类提供了一个consume方法,可以用来消耗要处理的事件。如下,就消耗了按下‘a'事件,也就是说按下’a'无效,'b'也是,类似的还可以增加。
Button button = new Button("Can't Click This");
button.addKeyListener(new ConsumeKeyListener(this));
class ConsumeKeyListener extends KeyAdapter {
private Applet applet;
public ConsumeKeyListener(Applet applet) {
this.applet = applet;
}
public void keyPressed(KeyEvent event) {
char key = event.getKeyChar();
if(key == 'a') {
applet.showStatus("Consuming 'a' key");
event.consume();
}
else if(key =='b'){
event.consume();
}
else{}
}
}
Button button = new Button("Can't Click This");
button.addKeyListener(new ConsumeKeyListener(this));
class ConsumeKeyListener extends KeyAdapter {
private Applet applet;
public ConsumeKeyListener(Applet applet) {
this.applet = applet;
}
public void keyPressed(KeyEvent event) {
char key = event.getKeyChar();
if(key == 'a') {
applet.showStatus("Consuming 'a' key");
event.consume();
}
else if(key =='b'){
event.consume();
}
else{}
}
}
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。