gpt4 book ai didi

java - 键盘轮询有什么用?

转载 作者:行者123 更新时间:2023-11-29 03:51:34 30 4
gpt4 key购买 nike

我正在使用 Java 1.6 制作一个 2d 图形应用程序。为了接收键盘输入,我只是在 JPanel 上使用 addKeyListener() 并在其中一个回调方法中使用 keyPressed (KeyEvent ke ) ,我会画画

 `public void keyPressed(KeyEvent ke)
{
keyName=KeyEvent.getKeyText(ke.getKeyCode());
/*calling other classes ,calculating values
and drawing on the jpanel (moving an image ,etc)
*/
ke.consume();
}`

但是我在一些博客中发现了另一种方法,它是这样的,

1.)首先初始化一个boolean[] keys=new boolean[256];

2.) 然后,对于接收到的每个按键事件,只需将值存储到这个 boolean 数组中即可。

`public void keyPressed(KeyEvent ke)
{
//storing the keyevent:true since its due to key being pressed
keyMap[ke.getKeyCode()]=true;
ke.consume();
}`


`public void keyReleased(KeyEvent ke)
{
//storing the keyevent:false since its due to key being released
keyMap[ke.getKeyCode()]=false;
ke.consume();
}`

最后有一个循环遍历 boolean[] 并检查键状态的方法..

        `for(int i=0;i<keyMap.length;i++)
{
if(keyMap[i]==true)
{

/* do some graphic tasks...*/
}
}`

这两种模式有什么区别?

最佳答案

第二种方法允许您同时按下一个以上的键,通常允许通过双键按下进行对角线移动。

关于java - 键盘轮询有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8549465/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com