Spec-Zone.ru › OpenJDK 17

Класс SplashScreen

java.lang.Object
java.awt.SplashScreen
public final class SplashScreen extends Object
Экран загрузки может быть отображён при запуске приложения, до запуска Java Virtual Machine (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 и Non-HiDPI, в опции manifest.mf/-splash: должно быть указано имя не масштабированного изображения, то есть имя файла.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 оба поддерживаются Интерфейс командной строки имеет больший приоритет по сравнению с настройками манифеста.

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

Подразумевается, что указанное изображение отображается на экране "как есть", сохраняя точные значения цветов, как указано в файле изображения. Однако в некоторых случаях отображаемое изображение может отличаться, например, при применении цветового дithering для отображения изображения с 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()
Обновляет окно экрана загрузки текущим содержимым наложенного изображения.

Методы, объявленные в классе java.lang.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 в противном случае

© 1993, 2021, 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/17/docs/api/java.desktop/java/awt/SplashScreen.html

Spec-Zone.ru

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