Я пишу приложение, которое предназначено для запуска на установке с двумя мониторами, с JFrame «Display» в полноэкранном режиме на одном мониторе и JFrame «Control» на другом мониторе, отправляя инструкции на дисплей. Я пробовал два разных метода настройки полноэкранного режима отображения; успех каждого, кажется, зависит от ОС.
display.setUndecorated(true);
display.setExtendedState(JFrame.MAXIMIZED_BOTH);
Работает в Windows, но JFrame скрывается под док-станцией/панелями в OS X и Linux.
Мой другой метод, использующий
GraphicsDevice.setFullScreenWindow(display);
Работает во всех трех ОС, которые я пробовал, но в Windows фокус окна управления на другом мониторе скрывает окно дисплея и вызывает
display.setAlwaysOnTop(true);
Не решает проблему. Я неравнодушен к методу GraphicsDevice
, потому что мне не приходится иметь дело с проблемами в OS X или Linux, и я надеюсь, что проблема с Windows решается просто. Это?