如何进行键盘事件 [英] How to cast a keyboard event

查看:104
本文介绍了如何进行键盘事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在显示**spacebarpressed**的地方,我想投射一个事件:

Where it says **spacebarpressed**, I want to cast an event:

public static void main(String[] args) throws IOException, AWTException{

    final Robot robot = new Robot();

    robot.delay(2000);

    while(true)
    {
        if( **spacebarpressed** ) {
            robot.mousePress(InputEvent.BUTTON1_MASK);
            robot.mouseRelease(InputEvent.BUTTON1_MASK);

            robot.delay(50);
        }
        else {
            robot.delay(50);
        }
    }
}

推荐答案

您要检查是否按下空格键吗?如果是这样,则需要一个实现KeyListener的内部私有类,但需要将其连接到JFrame,但是...我不知道其他任何方式.

You want to check if spacebar is pressed? If that's so, you need an inner private class that implements KeyListener, but you need to hook it up to a JFrame however... I don't know about any other way.

private class Key
    implements KeyListener
{
    private boolean spacebarPressed = false;

    @Override
    public void keyTyped(KeyEvent e)
    {
    }

    @Override
    public void keyPressed(KeyEvent e)
    {
        if(e.getKeyCode() == KeyEvent.VK_SPACE)
        {
            spacebarPressed = true;
        }
    }

    @Override
    public void keyReleased(KeyEvent e)
    {
        if(e.getKeyCode() == KeyEvent.VK_SPACE)
        {
            spacebarPressed = false;
        }
    }

    public boolean isSpacebarPressed()
    {
        return spacebarPressed;
    }
}

然后在while循环中调用isSpacebarPressed()进行检查.

And then just call isSpacebarPressed() in your while loop to check.

这篇关于如何进行键盘事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆