Spec-Zone.ru › OpenJDK 25

Класс SplashScreen

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

Если приложение упаковано в файл 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, в параметре 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

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/SplashScreen.html

Spec-Zone.ru

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