求java大神帮忙!我用paint在JFrame上画了一个小图片,怎么给这张小图片添加键盘监听?

求java大神帮忙!我用paint在JFrame上画了一个小图片,怎么给这张小图片添加键盘监听?,第1张

加入下面代码,就可以监听全局的键盘事件

Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {

public void eventDispatched(AWTEvent event) {

if (((KeyEvent) event).getID() == KeyEvent.KEY_PRESSED) {

//放入自己的键盘监听事件

 //((KeyEvent) event).getKeyCode()// 获取按键的code

//((KeyEvent) event).getKeyChar()// 获取按键的字符

}

}

}, AWTEvent.KEY_EVENT_MASK)

创建一个关于键盘事件的程序。该程序实现了当用户按下键盘时,程序中的一个面板中将显示用户的键盘输入。为了实现对键盘事件进行处理,容器类必须实现接口KeyListener.该接口定义了3个方法KeyPressed(KeyEvebt e)、KeyReleased(Key-Event e)、KeyTyped(KeyEvent e)。其中,当按下一个键时,调用KeyTyped方法;释放一个键时,调用KeyReleased方法;如果一个字符键被按下,那么会调用KeyTyped方法。因此,当按下一个键时,通常会产生两到三个事件。实验KeyType方法,以显示用户输入的字符。(1)创建一个名为KeyEventDemo的java文件。(2)在该文件中创建KeyEventDemo类,该类继承了JFrame,并实现KeyListener接口。(3)在KeyEventDemo类中实现在KeyPressed、KeyReleased和KeyType方法。(4)在KeyEventDemo类中添加String类型变量。该变量用于保存用户输入的字符。(5)在KeyType方法中调用KeyEvent的getKeyChar()方法,获取用户输入的字符,并保存到String类型变量中。最后调用repaint方法更新显示用户输入的字符串。(6)为KeyEventDemo类添加paint方法,此方法负责显示用户输入的字符。(7)用户也可以在KeyPressed和KeyReleased方法中间调用getKeyCode方法,以获取特殊的按键。比如方向键和退格键。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11551334.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存