我在全屏模式下使用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键时,程序将退出全屏模式并最小化。如何阻止此“功能”?
感谢。
答案 0 :(得分:1)
答案 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();
}
});