Класс 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 или не-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() |
Обновляет окно заставки, отображая текущее содержимое наложенного изображения. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект другому объекту. |
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 |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода 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
- Параметры:
-
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.