双击检查Java

时间:2012-09-03 14:40:40

标签: java keyboard awt

如何应用双击的关键侦听器?也就是说,你打了一次并且它打开了,然后你再次击中并关闭它。我可以通过LWJGL键盘执行此操作,但不能通过AWT使用KeyEvent。你怎么能用AWT做到这一点?

我的尝试:

public static void fullscreenKey(KeyEvent e2, JFrame frame)
{
    int key = e2.getKeyCode();
    if(key == KeyEvent.VK_F1)
    {
        fullscreen(false, frame);
        f1 = false;
    }
    if(key == KeyEvent.VK_F1 && !f1)
    {
        fullscreen(true, frame);
        f1 = true;
    }
}

我还需要在其他类中调用此方法。

1 个答案:

答案 0 :(得分:2)

您似乎在两次致电fullscreen

public static void fullscreenKey(KeyEvent e2, JFrame frame)
{
    int key = e2.getKeyCode();
    if(key == KeyEvent.VK_F1)
    {
        // This always executes if VK_F1 is pressed,
        // setting f1 to false
        fullscreen(false, frame);
        f1 = false;
    }
    if(key == KeyEvent.VK_F1 && !f1)
    {
        // f1 is now false, so this will execute too!
        fullscreen(true, frame);
        f1 = true;
    }
}

你应该尝试:

public static void fullscreenKey(KeyEvent e2, JFrame frame)
{
    int key = e2.getKeyCode();
    if(key == KeyEvent.VK_F1)
    {
        fullscreen(!f1, frame);            
        f1 = !f1;
    }     
}