Как программировать полноэкранный режим в Java?

Я хочу, чтобы мое приложение имело полноэкранный режим. Каков самый простой способ сделать это, нужна ли мне сторонняя библиотека для этого или есть что-то в JDK, который уже предлагает это?

Ответ 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.