Spec-Zone.ru › OpenJDK 27

Класс SplashScreen

java.lang.Object
java.awt.SplashScreen
public final class SplashScreen extends Object
Заставка может отображаться при запуске приложения до запуска виртуальной машины Java (JVM). Заставка отображается в виде окна без оформления, содержащего изображение. Для изображения можно использовать файлы GIF, JPEG или PNG. Для формата GIF поддерживается анимация, а прозрачность поддерживается как для GIF, так и для PNG. Окно располагается по центру экрана. Положение в системах с несколькими мониторами не определено. Оно зависит от платформы и реализации. Окно заставки закрывается автоматически, как только Swing/AWT отображает первое окно (его также можно закрыть вручную с помощью API Java; см. ниже).

Если приложение упаковано в файл jar, для отображения заставки можно использовать параметр "SplashScreen-Image" в файле манифеста. Поместите изображение в архив jar и укажите путь к нему в параметре. Путь не должен начинаться с косой черты.
Например, в файле manifest.mf:

Manifest-Version: 1.0
Main-Class: Test
SplashScreen-Image: filename.gif

Если реализация Java предоставляет интерфейс командной строки и вы запускаете приложение с помощью командной строки или ярлыка, используйте параметр средства запуска приложений Java для отображения заставки. Эталонная реализация Oracle позволяет указать расположение изображения заставки с помощью параметра -splash:.
Например:

java -splash:filename.gif Test
Также поддерживаются изображения с масштабированием HiDPI. Для всех типов изображений, независимо от того, предназначены они для HiDPI или не-HiDPI, в параметре manifest.mf/-splash: следует указывать имя файла изображения без масштабирования, то есть filename.gif. Ниже приведено соглашение об именовании масштабированных изображений. Масштаб экрана 1.25: filename@125pct.gif Масштаб экрана 1.50: filename@150pct.gif Масштаб экрана 2: поддерживаются оба варианта — filename@200pct.gif и filename@2x.gif Масштаб экрана 2.50: filename@250pct.gif Масштаб экрана 3: поддерживаются оба варианта — filename@300pct.gif и filename@3x.gif Интерфейс командной строки имеет более высокий приоритет, чем настройка манифеста.

Заставка будет отображаться настолько точно, насколько это возможно с учетом ограничений целевой платформы и дисплея, чтобы показать изображение заставки целиком.

Предполагается, что указанное изображение отображается на экране «как есть», то есть с сохранением точных значений цветов, заданных в файле изображения. Однако при определенных обстоятельствах отображаемое изображение может отличаться, например, если для показа изображения с глубиной 32 бита на пиксель (bpp) на экране с глубиной 16 или 8 bpp применяется дизеринг цветов. На цвета отображаемого изображения также может влиять конфигурация дисплея исходной платформы (например, цветовые профили и т. д.).

Класс SplashScreen предоставляет API для управления заставкой. Этот класс можно использовать, чтобы закрыть заставку, изменить ее изображение, получить положение и размер ее системного окна и рисовать на заставке. С его помощью нельзя создать заставку. Для этого следует использовать параметры, предоставляемые реализацией Java.

Экземпляр этого класса создать нельзя. Может существовать только один экземпляр этого класса; его можно получить с помощью статического метода getSplashScreen(). Если заставка не была создана при запуске приложения с помощью параметра командной строки или файла манифеста, метод getSplashScreen возвращает null.

С версии:
1.6

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Скрывает заставку, закрывает окно и освобождает все связанные ресурсы.
Graphics2D createGraphics()
Создает графический контекст (в виде объекта Graphics2D) для наложенного изображения заставки, позволяющий рисовать поверх заставки.
Rectangle getBounds()
Возвращает границы окна заставки в виде объекта Rectangle.
URL getImageURL()
Возвращает текущее изображение заставки.
Dimension getSize()
Возвращает размер окна заставки в виде объекта Dimension.
static SplashScreen getSplashScreen()
Возвращает объект SplashScreen, используемый для управления заставкой при запуске Java в системах с поддержкой дисплея.
boolean isVisible()
Определяет, видна ли заставка.
void setImageURL(URL imageURL)
Изменяет изображение заставки.
void update()
Обновляет окно заставки, отображая текущее содержимое наложенного изображения.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удален в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого объекта Object.
int hashCode()
Возвращает значение хеш-кода этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание методов

getSplashScreen

public static SplashScreen getSplashScreen()
Возвращает объект SplashScreen, используемый для управления заставкой при запуске Java в системах с поддержкой дисплея.
Возвращает:
экземпляр SplashScreen или null, если экземпляра нет либо заставка уже закрыта
Исключения:
UnsupportedOperationException — если текущий инструментарий не поддерживает функцию заставки
HeadlessException — если GraphicsEnvironment.isHeadless() возвращает true

setImageURL

public void setImageURL(URL imageURL) throws NullPointerException, IOException, IllegalStateException
Изменяет изображение заставки. Новое изображение загружается по указанному URL; поддерживаются форматы GIF, JPEG и PNG. Метод возвращает управление после завершения загрузки изображения и обновления окна. Размер окна заставки изменяется в соответствии с размером изображения, а само окно располагается по центру экрана.
Параметры:
imageURL — URL нового изображения заставки, не-null
Исключения:
NullPointerException — если imageURL равно null
IOException — если при загрузке изображения произошла ошибка
IllegalStateException — если заставка уже закрыта

getImageURL

public URL getImageURL() throws IllegalStateException
Возвращает текущее изображение заставки.
Возвращает:
URL файла текущего изображения заставки
Исключения:
IllegalStateException — если заставка уже закрыта

getBounds

public Rectangle getBounds() throws IllegalStateException
Возвращает границы окна заставки в виде объекта Rectangle. Это может быть полезно, например, если нужно заменить заставку своим окном в том же месте.

Нельзя управлять размером или положением заставки. Размер заставки автоматически изменяется при смене изображения.

Изображение может содержать прозрачные области, поэтому возвращаемые границы могут быть больше, чем видимая на экране часть изображения заставки.

Возвращает:
объект Rectangle, содержащий границы заставки
Исключения:
IllegalStateException — если заставка уже закрыта

getSize

public Dimension getSize() throws IllegalStateException
Возвращает размер окна заставки в виде объекта Dimension. Это может быть полезно, например, если нужно рисовать на поверхности наложения заставки.

Нельзя управлять размером или положением заставки. Размер заставки автоматически изменяется при смене изображения.

Изображение может содержать прозрачные области, поэтому возвращаемый размер может быть больше, чем видимая на экране часть изображения заставки.

Возвращает:
объект Dimension, указывающий размер заставки
Исключения:
IllegalStateException — если заставка уже закрыта

createGraphics

public Graphics2D createGraphics() throws IllegalStateException
Создает графический контекст (в виде объекта Graphics2D) для наложенного изображения заставки, позволяющий рисовать поверх заставки. Обратите внимание: рисование выполняется не на основном изображении, а на изображении, которое отображается поверх основного с помощью альфа-смешивания. Также обратите внимание, что рисование на наложенном изображении не обязательно приводит к обновлению содержимого окна заставки. Чтобы заставка немедленно обновилась, вызовите update() для SplashScreen.

Пиксель (0, 0) в системе координат графического контекста соответствует началу координат границ системного окна заставки (см. getBounds()).

Возвращает:
графический контекст для поверхности наложения заставки
Исключения:
IllegalStateException — если заставка уже закрыта

update

public void update() throws IllegalStateException
Обновляет окно заставки, отображая текущее содержимое наложенного изображения.
Исключения:
IllegalStateException — если наложенное изображение не существует, например, если метод createGraphics ни разу не вызывался или заставка уже закрыта

close

public void close() throws IllegalStateException
Скрывает заставку, закрывает окно и освобождает все связанные ресурсы.
Исключения:
IllegalStateException — если заставка уже закрыта

isVisible

public boolean isVisible()
Определяет, видна ли заставка. Заставку можно скрыть с помощью метода close(); она также скрывается автоматически при отображении первого окна AWT/Swing.

Обратите внимание: исходная платформа может задержать отображение системного окна заставки на экране. Возвращаемое этим методом значение true лишь гарантирует, что условия для скрытия окна заставки еще не наступили.

Возвращает:
true, если заставка видна (еще не была закрыта), иначе false

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API