Я пишу приложение, предназначенное для запуска с помощью двух мониторов, с помощью "Дисплей" JFrame, идущего в полноэкранном режиме на одном мониторе, и "Control" JFrame на другом мониторе, отправляя инструкции на дисплей. Я пробовал два отдельных метода установки полноэкранного режима дисплея; успех каждого, похоже, зависит от ОС.
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 - это простое исправление. Это?