Класс SplashScreen
public final class SplashScreen extends Object
Если приложение упаковано в файл 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 |
Изменяет изображение заставки. |
void |
update() |
Обновляет окно заставки, отображая текущее содержимое накладываемого изображения. |
Подробное описание методов
getSplashScreen
public static SplashScreen getSplashScreen()
SplashScreen, используемый для управления заставкой при запуске Java в системах с поддержкой дисплея.- Возвращает:
- экземпляр
SplashScreenилиnull, если такого экземпляра нет или он уже закрыт - Вызывает исключение:
-
UnsupportedOperationException— если текущий инструментарий не поддерживает функцию заставки -
HeadlessException— еслиGraphicsEnvironment.isHeadless()возвращает true
setImageURL
public void setImageURL(URL imageURL) throws NullPointerException, IOException, IllegalStateException
- Параметры:
-
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
© 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