Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 控制+;W出口系统_Java_Keycode_System.exit - Fatal编程技术网

Java 控制+;W出口系统

Java 控制+;W出口系统,java,keycode,system.exit,Java,Keycode,System.exit,我正在制作一个游戏,这里我希望最终用户按Ctrl+W退出系统 以下是我使用的代码: int key = e.getKeyCode(); if(key == KeyEvent.VK_CONTROL && key == KeyEvent.VK_W) System.exit(1); 。。。但它似乎不起作用 谁能告诉我我的代码有什么问题吗 提前谢谢 我会尝试以下几点: int key = e.getKeyCode(); if(key == (KeyEvent.VK_CONTROL |

我正在制作一个游戏,这里我希望最终用户按Ctrl+W退出系统

以下是我使用的代码:

int key = e.getKeyCode();
if(key == KeyEvent.VK_CONTROL && key == KeyEvent.VK_W) System.exit(1);
。。。但它似乎不起作用

谁能告诉我我的代码有什么问题吗


提前谢谢

我会尝试以下几点:

int key = e.getKeyCode();
if(key == (KeyEvent.VK_CONTROL | KeyEvent.VK_W)) System.exit(1);
虽然这是未经测试的,而且是记忆中的

KeyStroke keyExit = KeyStroke.getKeyStroke(KeyEvent.VK_CONTROL, KeyEvent.VK_W); 
Action performExit = new AbstractAction("Exit") {  
    public void actionPerformed(ActionEvent e) {     
        //exit method
    }
};

试试这种例子。

好吧,
键(作为
int
)一次只能是一个值,所以它永远不会同时是两个键…那么有没有一种方法可以像我在Java中想象的那样使用?可能需要将两个KeyEvent常量或两个KeyEvent常量复制在一起。@Rich,但我有另一个命令,最终用户按W向上移动,但我有另一个控件,它使用W作为向上移动的播放器,所以如果我按W系统仍将运行exit@Star你看到你的要求有什么不同吗?@Stultuske是的。。。这里,如果我在键盘上按W键,它也会退出系统。|是OR,所以只有一个键足以触发它。但是由于Netbeans使用菜单中的CTRL+[]快捷键,所以它应该是可能的。也许可以检查他们的代码我使用Eclipse,但我的JDK代码似乎不起作用。。。在您注释了退出方法的地方,我键入了系统退出(1)