Класс 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Командная строка имеет больший приоритет по сравнению с настройками манифеста.
Экран загрузки будет отображен максимально точно, чтобы представить все изображение экрана загрузки, учитывая ограничения целевой платформы и дисплея.
Подразумевается, что указанное изображение отображается на экране "как есть", то есть сохраняются точные значения цветов, как указано в файле изображения. Однако в определенных обстоятельствах отображаемое изображение может отличаться, например, при применении цветового дithering для отображения изображения с 32 битами на пиксель (bpp) на экране с 16 или 8 bpp. Настройка дисплея родной платформы также может повлиять на цвета отображаемого изображения (например, цветовые профили и т. д.)
Класс SplashScreen предоставляет API для управления экраном загрузки. Этот класс можно использовать для закрытия экрана загрузки, изменения изображения экрана загрузки, получения положения/размера окна родного экрана загрузки и рисования на экране загрузки. Он не может использоваться для создания экрана загрузки. Для этого необходимо использовать опции, предоставляемые реализацией Java.
Этот класс не может быть инстанцирован. Может существовать только один экземпляр этого класса, который можно получить, используя статический метод getSplashScreen(). В случае, если экран загрузки не был создан при запуске приложения через командную строку или опцию файла манифеста, метод getSplashScreen возвращает null.
- С момента:
- 1.6
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
close() Скрывает экран загрузки, закрывает окно и высвобождает все связанные ресурсы. |
Graphics2D |
createGraphics() Создаёт контекст графики (как объект |
Rectangle |
getBounds() Возвращает границы окна экрана загрузки как |
URL |
getImageURL() Возвращает текущее изображение экрана загрузки. |
Dimension |
getSize() Возвращает размер окна экрана загрузки как |
static SplashScreen |
getSplashScreen() Возвращает объект |
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 для нового изображения экрана загрузки - Исключение:
-
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, 2020, 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.