ключ esacpe выходит из полноэкранного режима Java - PullRequest
1 голос
/ 12 июня 2011

Я построил игру на 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 ]

1 голос
/ 12 июня 2011

Если используется Swing, тогда вы должны использовать Key Bindings .Swing был разработан для использования KeyBindings, а не KeyEvents.

1 голос
/ 19 июня 2011

Я обнаружил проблему, когда я переключаю представления, программа теряет фокус, поэтому окна будут обрабатывать событие ESCAPE Я решил это, запрашивая фокус каждый раз, когда вид меняется.

как это:

this.addComponentListener(new ComponentAdapter() {
            @Override
            public void componentShown(ComponentEvent e) {
                View.this.requestFocusInWindow();
            }            
        });
1 голос
/ 12 июня 2011

Напишите свой собственный слушатель клавиш и управляйте нажатием клавиш так, как вы хотите.Вы можете посмотреть на это .

РЕДАКТИРОВАТЬ: это , кажется, объясняет это лучше.

...