Я хочу, чтобы мое приложение имело полноэкранный режим. Каков самый простой способ сделать это, нужна ли мне сторонняя библиотека для этого или есть что-то в JDK, который уже предлагает это?
Как программировать полноэкранный режим в Java?
Ответ 1
Попробуйте полноэкранный эксклюзивный режим API. Он был представлен в JDK в версии 1.4. Некоторые из функций включают в себя:
- Полноэкранный эксклюзивный режим - позволяет приостановить систему окон, чтобы рисунок можно было сделать непосредственно на экране.
- Режим отображения - состоит из размера (ширина и высота монитора в пикселях), глубины бита (количество бит на пиксель) и частоты обновления (как часто монитор обновляется).
- Пассивное и активное рендеринг - рисование в основном цикле событий с использованием метода paint является пассивным, тогда как рендеринг в вашем собственном потоке активен.
- Двойная буферизация и перелистывание страниц. Более плавное рисование означает лучшую воспринимаемую производительность и намного лучший пользовательский интерфейс.
- BufferStrategy и BufferCapabilities - классы, которые позволяют рисовать поверхности и компоненты без необходимости знать количество используемых буферов или метод, используемый для их отображения, и помочь вам определить возможности вашей графики устройство.
В связанном учебнике есть несколько примеров эксклюзивного режима в полноэкранном режиме.
Ответ 2
Используйте этот код:
JFrame frame = new JFrame();
// set properties
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setUndecorated(true);
frame.setVisible(true);
Убедитесь, что setUndecorated()
находится перед setVisible()
или он не будет работать.
Ответ 3
Я сделал это с помощью JOGL, имея полный экран интерфейса OpenGL для игры. Это довольно легко. Я считаю, что возможности были добавлены в Java с версией 5, но так давно я забыл, как это сделать (отредактируйте: см. Ответ выше для).
Ответ 4
Метод JFrame setUndecorated(true)
Ответ 5
Это действительно зависит от того, что вы используете для отображения вашего интерфейса, то есть AWT/ Spring или OpenGL и т.д.
Java имеет полноэкранный эксклюзивный режим API - см. этот учебник от Sun.