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

StackOverflow https://stackoverflow.com/questions/139025

  •  02-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

Попробуйте API Полноэкранного Эксклюзивного режима.Он был представлен в JDK в выпуске 1.4.Некоторые из этих функций включают в себя:

  • Полноэкранный Эксклюзивный режим - позволяет приостановить работу оконной системы, чтобы можно было выводить рисунок непосредственно на экран.
  • Режим отображения - состоит из размера (ширина и высота монитора в пикселях), разрядности (количество бит на пиксель) и частоты обновления (частота обновления самого монитора).
  • Пассивный противАктивный Рендеринг - рисование во время выполнения основного цикла событий с использованием метода paint является пассивным, в то время как рендеринг в вашем собственном потоке активен.
  • Двойная Буферизация и перелистывание страниц - Более плавное рисование означает лучшую воспринимаемую производительность и гораздо лучший пользовательский опыт.
  • Стратегия буферизации и буферные возможности - классы, которые позволяют вам рисовать на поверхностях и компонентах без необходимости знать количество используемых буферов или технику, используемую для их отображения, и помогают вам определить возможности вашего графического устройства.

В приведенном по ссылке руководстве приведено несколько примеров полноэкранного эксклюзивного режима.

Другие советы

JFrame setUndecorated(true) способ

Я сделал это с помощью JOGL, когда у меня был полноэкранный пользовательский интерфейс OpenGL для игры.Это довольно просто.Я полагаю, что эта возможность была добавлена и в Java с версией 5, но это было так давно, что я забыл, как это сделать (редактировать:смотрите ответ выше о том, как это сделать).

Используйте этот код:

JFrame frame = new JFrame();
// set properties
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setUndecorated(true);
frame.setVisible(true);

Убедитесь, что setUndecorated() приходит раньше setVisible() или это не сработает.

Это действительно зависит от того, что вы используете для отображения своего интерфейса, т.е.AWT /Spring или OpenGL и т.д.

Java имеет полноэкранный эксклюзивный режим API - смотрите это руководство от Sun.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top