如何在java中逃离全屏模式



我用这个代码来实现全屏显示:

private void fullScreenPerformed(java.awt.event.ActionEvent evt) {
    full = new JFrame();
    full.setSize(Toolkit.getDefaultToolkit().getScreenSize());
    full.setUndecorated(true);
    full.setVisible(true);
}

当我运行程序时,JFrame被卡在全屏模式下,当我按下escape时,我无法关闭它。因此,我不得不重新启动或注销电脑,才能再次回到正常屏幕。我希望用户能够通过按下"退出按钮"或使用其他组合来关闭它。我该怎么做?

您需要为此添加一个keyEventListener,如果您按下escape,它将处理帧。之后,它将不再可用。

full.addKeyListener(new KeyAdapter() {
    public void keyPressed(KeyEvent evt) {
        if(evt.getKeyCode() == KeyEvent.VK_ESCAPE)
            full.dispose();
    }
});

请记住,帧需要集中,否则不会触发事件。

试试这个

 KeyStroke k = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
 int w = full.WHEN_IN_FOCUSED_WINDOW;
 dialog.getRootPane().registerKeyboardAction(e -> window.dispose(), k, w);

相关内容

  • 没有找到相关文章

最新更新