Фрейм Java в полноэкранном эксклюзивном режиме на втором мониторе - PullRequest
2 голосов
/ 14 ноября 2011

Я борюсь с такой проблемой. Мое приложение создает два кадра. Первый - для оператора, и он должен быть на первом мониторе в обычном режиме. Другой тип отображения для «клиентов» и должен отображаться в полноэкранном режиме на втором мониторе Я решил использовать Fullscreen Exclusive из-за легкости. Дело в том, что на мониторе 0 легко отобразить кадр, но я не могу выбрать второй. Кадр по-прежнему отображается на мониторе № 0, а не 1.

GraphicsDevice screen = GraphicsEnvironment.
        getLocalGraphicsEnvironment().getScreenDevices()[1];
        //it is in program config which display should be used.
        //Of course monitor is present and listed by getScreenDevices as array[1]
JFrame frame = new JFrame("Fullscreen Display");
if (screen.isFullScreenSupported()) {
frame.dispose();
frame.setUndecorated(true);
System.out.println("FEM available on: "+ screen.getIDstring());
frame.repaint();
screen.setFullScreenWindow(frame);
}

1 Ответ

1 голос
/ 14 ноября 2011

Я только что запустил ваш код, и я могу успешно изменить экран, на котором всплывает ваш фрейм. Если вы измените 1 на 0 в этой строке --->

GraphicsDevice screen = GraphicsEnvironment.
getLocalGraphicsEnvironment().getScreenDevices()[1];

, фрейм появитсядругой монитор.

...