escape key退出全屏模式java

时间:2011-06-12 15:14:23

标签: java escaping key fullscreen ignore

我在全屏模式下使用Java构建游戏,我使用此代码全屏显示:

this.setPreferredSize(new Dimension((int)screenSize.getWidth(), (int)screenSize.getHeight()));
GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
        if(gd.isFullScreenSupported()) {
            this.setUndecorated(true);
            gd.setFullScreenWindow(this);
        }
        else {
            System.err.println("Full screen not supported!!");

        }

在某些Windows系统上按ESCAPE键时,程序将退出全屏模式并最小化。如何阻止此“功能”?

感谢。

3 个答案:

答案 0 :(得分:1)

编写您自己的密钥监听器,并按照您希望的方式处理您的按键。你可以看看this

编辑:this似乎更好地解释了它。

答案 1 :(得分:1)

如果这是使用Swing,那么您应该使用Key Bindings。 Swing旨在使用KeyBindings,而不是KeyEvents。

答案 2 :(得分:1)

我发现了问题,当我切换视图时,程序失去焦点,因此Windows将处理ESCAPE键事件。我通过每次视图更改时请求焦点来解决它。

像这样:

this.addComponentListener(new ComponentAdapter() {
            @Override
            public void componentShown(ComponentEvent e) {
                View.this.requestFocusInWindow();
            }            
        });