Java 如何播放键盘事件
如果上面写着Java 如何播放键盘事件,java,keyboard,action,listener,Java,Keyboard,Action,Listener,如果上面写着**spacebarpressed**,我想发布一个事件: public static void main(String[] args) throws IOException, AWTException{ final Robot robot = new Robot(); robot.delay(2000); while(true) { if( **spacebarpressed** ) { robot.mo
**spacebarpressed**
,我想发布一个事件:
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
。。。我不知道还有别的办法
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()
进行检查。当我将代码子类放在我的类声明下,然后使用“while(isSpacebarPressed())”时,它说我需要创建方法isSpacebarPressed,我能做什么?确保创建它的实例。。。“Key keyObject=new Key()”,然后可以使用“keyObject.isSpacebarPressed()”。但在此之前,您需要将其连接到JFrame,正如我所看到的,您的主要方法引发了AWTException,因此您必须使用UI,因此将该实例连接到您的窗口(“jframeObject.addKeyListener(keyObject);”)以使其更新。我想让keyObject成为静态的,我搞砸了什么?