Spec-Zone .ru
спецификации, руководства, описания, API
|
Как только приложение находится в полноэкранном монопольном режиме, оно может быть в состоянии использовать в своих интересах активную установку режима отображения. Режим отображения (java.awt.DisplayMode) составляется из размера (width и height монитора, в пикселях), битовая глубина (число бит на пиксель), и частота обновления (как часто монитор обновляет себя). Некоторые операционные системы позволяют Вам использовать многократные битовые глубины одновременно, когда специальное значение BIT_DEPTH_MULTI используется для значения битовой глубины. Кроме того, некоторые операционные системы, возможно, не имеют никакого контроля над частотой обновления (или Вы не можете заботиться об установке частоты обновления). В этом случае специальное значение REFRESH_RATE_UNKNOWN используется для значения частоты обновления.
Чтобы получить текущий режим отображения, просто вызовите метод getDisplayMode на своем графическом устройстве. Чтобы получить список всех возможных режимов отображения, вызовите метод getDisplayModes. И getDisplayMode и getDisplayModes можно вызвать в любое время, независимо от того, являетесь ли Вы в полноэкранном монопольном режиме.
Прежде, чем попытаться изменить режим отображения, следует сначала вызвать метод isDisplayChangeSupported. Если этот метод возвращает false, операционная система не поддерживает изменение режима отображения.
Изменение режима отображения может только быть сделано когда в полноэкранном монопольном режиме. Чтобы изменить режим отображения, вызовите метод setDisplayMode с требуемым режимом отображения. Исключение на этапе выполнения будет брошено, если режим отображения не будет доступен, если изменения режима отображения не поддерживаются, или если Вы не работаете в полноэкранном монопольном режиме.
Главной причиной для установки режима отображения является производительность. Приложение может работать намного более быстро, если изображения оно хочет выводить на экран долю та же самая битовая глубина как экран. Кроме того, если можно рассчитывать на дисплей, чтобы быть определенным размером, он делает рисунок к тому дисплею намного более простым, так как Вы не должны уменьшить масштаб вещей или в зависимости от того, как пользователь установил дисплей.
Вот некоторые подсказки для выбора и установки режима отображения:
try...finally
пункт: GraphicsDevice myDevice; Window myWindow; DisplayMode newDisplayMode; DisplayMode oldDisplayMode = myDevice.getDisplayMode(); try { myDevice.setFullScreenWindow(myWindow); myDevice.setDisplayMode(newDisplayMode); ... } finally { myDevice.setDisplayMode(oldDisplayMode); myDevice.setFullScreenWindow(null); }