- Class SplashScreen
- Method Summary
- Методы, объявленные в классе java.lang. Объект
- Method Details
- getSplashScreen
- setImageURL
- getImageURL
- getBounds
- getSize
- createGraphics
- update
- close
- isVisible
- Заставка при запуске java
- Как Использовать Параметр командной строки, чтобы Вывести на экран Экран-заставку
- Как Использовать Файл JAR, чтобы Вывести на экран Экран-заставку
- API Экрана-заставки
- Пример, Который Использует API SplashScreen
Class SplashScreen
Заставка может отображаться при запуске приложения,перед запуском виртуальной машины 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: .
For example:
java -splash:filename.gif Test
Также поддерживается изображение с масштабированием HiDPI. Имя немасштабированного изображения, например, filename.gif, должно быть передано в параметре manifest.mf / -splash: для всех типов изображений, независимо от HiDPI и Non-HiDPI. Ниже приводится соглашение об именах для масштабированных изображений. Масштаб экрана 1,25: имя файла@125pct.gif Масштаб экрана 1,50: имя файла@150pct.gif Масштаб экрана 2: имя файла@200pct.gif и имя файла@2x.gif оба поддерживаются Масштаб экрана 2,50: имя файла@250pct.gif Масштаб экрана 3: имя файла Поддерживаются @ 300pct.gif и [email protected] Интерфейс командной строки имеет более высокий приоритет над настройкой манифеста.
Заставка будет отображаться настолько точно,насколько это возможно,чтобы представить все изображение заставки с учетом ограничений целевой платформы и дисплея.
Подразумевается,что указанное изображение представляется на экране «как есть»,т.е.с сохранением точных значений цвета,указанных в файле изображения.Однако при определенных обстоятельствах представленное изображение может отличаться,например,при применении цветового дизеринга для представления изображения 32 бит на пиксель (bpp)на экране 16 или 8 bpp.Конфигурация дисплея родной платформы также может влиять на цвета отображаемого изображения (например,цветовые профили и т.д.).
Класс SplashScreen предоставляет API для управления экраном-заставкой. Этот класс может использоваться для закрытия экрана-заставки, изменения изображения экрана-заставки, получения положения / размера собственного окна экрана-заставки и рисования на экране-заставке. Его нельзя использовать для создания заставки. Для этого вам следует использовать параметры, предоставляемые реализацией Java.
Невозможно создать экземпляр этого класса. Может существовать только один экземпляр этого класса, и его можно получить с помощью статического метода getSplashScreen() . Если экран-заставка не был создан при запуске приложения с помощью параметра командной строки или файла манифеста, метод getSplashScreen возвращает значение null .
Method Summary
Создает графический контекст (как объект Graphics2D ) для наложенного изображения экрана-заставки, который позволяет рисовать поверх экрана-заставки.
Возвращает объект SplashScreen , используемый для управления заставкой при запуске Java в системах, поддерживающих отображение.
Методы, объявленные в классе java.lang. Объект
Method Details
getSplashScreen
public static SplashScreen getSplashScreen()
Возвращает объект SplashScreen , используемый для управления заставкой при запуске Java в системах, поддерживающих отображение.
Returns: SplashScreen экземпляр, или null , если его нет или она уже закрыта Throws: UnsupportedOperationException — если функция экрана-заставки не поддерживается текущим набором инструментов HeadlessException — если GraphicsEnvironment.isHeadless() возвращает true
setImageURL
public void setImageURL(URL imageURL) throws NullPointerException, IOException, IllegalStateException
Изменяет изображение заставки.Новое изображение загружается из указанного URL;поддерживаются форматы изображений GIF,JPEG и PNG.Метод возвращается после завершения загрузки изображения и обновления окна.Размер окна заставки изменяется в соответствии с размером изображения и центрируется на экране.
Parameters: imageURL — null URL-адрес для нового изображения заставки Throws: NullPointerException — если imageURL имеет значение null IOException — если при загрузке изображения произошла ошибка IllegalStateException — если заставка уже закрыта
getImageURL
public URL getImageURL() throws IllegalStateException
Returns: URL-адрес текущего файла изображения заставки Throws: IllegalStateException — если заставка уже закрыта
getBounds
public Rectangle getBounds() throws IllegalStateException
Возвращает границы окна заставки в виде Rectangle . Это может быть полезно, если, например, вы хотите заменить экран-заставку своим окном в том же месте.
Вы не можете управлять размером или положением заставки.Размер заставки регулируется автоматически при изменении изображения.
Изображение может содержать прозрачные области,и поэтому сообщаемые границы могут быть больше,чем видимое на экране изображение заставки.
Returns: Rectangle , содержащий экранные заставки границы Throws: IllegalStateException — если заставка уже закрыта
getSize
public Dimension getSize() throws IllegalStateException
Возвращает размер окна заставки как Dimension . Это может быть полезно, если, например, вы хотите рисовать на поверхности наложения экрана-заставки.
Вы не можете управлять размером или положением заставки.Размер заставки регулируется автоматически при изменении изображения.
Изображение может содержать прозрачные области,и поэтому сообщаемый размер может быть больше,чем видимое на экране изображение заставки.
Returns: Dimension объекта , указывающий размер экрана — заставки Throws: IllegalStateException — если заставка уже закрыта
createGraphics
public Graphics2D createGraphics() throws IllegalStateException
Создает графический контекст (как объект Graphics2D ) для наложенного изображения экрана-заставки, который позволяет рисовать поверх экрана-заставки. Обратите внимание, что вы рисуете не на основном изображении, а на изображении, которое отображается поверх основного изображения с использованием альфа-смешивания. Также обратите внимание, что рисование наложенного изображения не обязательно обновляет содержимое окна заставки. Вы должны вызвать update() на SplashScreen , если хотите, чтобы заставка обновлялась немедленно.
Пиксель (0, 0) в координатном пространстве графического контекста соответствует началу границ собственного окна заставки (см. getBounds() ).
Returns: графический контекст для поверхности наложения заставки Throws: IllegalStateException — если заставка уже закрыта
update
public void update() throws IllegalStateException
Throws: IllegalStateException — если оверлейное изображение не существует; например, если createGraphics никогда не вызывался, или если экран-заставка уже был закрыт
close
public void close() throws IllegalStateException
isVisible
Определяет, виден ли экран-заставка. Экран-заставку можно скрыть с помощью close() , он также автоматически скрывается, когда первое окно AWT / Swing становится видимым.
Обратите внимание, что собственная платформа может задерживать отображение собственного окна заставки на экране. Возвращаемое значение true для этого метода только гарантирует, что условия для скрытия окна заставки еще не выполнены.
Заставка при запуске java
Java Foundation Classes, и Swing и Абстрактный Инструментарий Работы с окнами (AWT), позволяют разработчику создать экраны-заставки в технологических приложениях Java. Однако, потому что основная цель экрана-заставки состоит в том, чтобы предоставить пользователю обратную связь о запуске приложения, задержка между запуском приложения и момент, когда экран-заставка раскрывается, должна быть минимальной. Прежде, чем экран-заставка может раскрыться, приложение должно загрузить и инициализировать Виртуальную машину Java™ (JVM), AWT, Swing, и иногда зависящие от приложения библиотеки также. Получающаяся задержка нескольких секунд сделала использование основанного на технологии экрана-заставки Java™ менее чем требуемым.
К счастью, Java™ SE 6 обеспечивает решение, которое позволяет приложению выводить на экран экран-заставку намного ранее, даже прежде, чем виртуальная машина запустится. Средство запуска приложения Java в состоянии декодировать изображение и вывести на экран его в простом неукрашенном окне.
Экран-заставка может вывести на экран любого gif , png , или jpeg изображение, с прозрачностью, полупрозрачностью, и анимацией. Число ниже представляет пример экрана-заставки приложения Java, разработанного как анимированный gif файл.
SplashScreen class используется, чтобы закрыть экран-заставку, изменить изображение экрана-заставки, получить позицию изображения или размер, и краску в экране-заставке. Приложение не может создать экземпляр этого class. Только единственный экземпляр, создаваемый в пределах этого class, может существовать, и этот экземпляр может быть получен, используя getSplashScreen() статический метод. Если приложение не создало экран-заставку при запуске через опцию командной строки или файла манифеста, getSplashScreen метод возвращает нуль.
Как правило, разработчик хочет сохранить изображение экрана-заставки на экране и вывести на экран что-то по изображению. У окна экрана-заставки есть оверлейная поверхность с альфа-каналом, и к этой поверхности можно получить доступ с традиционным Graphics2D интерфейс.
Следующий фрагмент кода показывает, как получить a SplashScreen объект, тогда как создать графический контекст с createGraphics() метод:
. final SplashScreen splash = SplashScreen.getSplashScreen(); if (splash == null) < System.out.println("SplashScreen.getSplashScreen() returned null"); return; >Graphics2D g = splash.createGraphics(); if (g == null) < System.out.println("g is null"); return; >.
Найдите полный код демонстрационного примера в SplashDemo.java файл.
Использование приложения SplashDemo фиксированные координаты, чтобы вывести на экран информацию об оверлеи. Эти координаты являются зависимыми от изображения и расчетными индивидуально для каждого экрана-заставки.
Собственный экран-заставка может быть выведен на экран следующими способами:
Как Использовать Параметр командной строки, чтобы Вывести на экран Экран-заставку
Чтобы вывести на экран экран-заставку из командной строки используют -splash: параметр командной строки. Этим параметром является опция средства запуска приложения Java, которая выводит на экран экран-заставку:
- Скомпилируйте SplashDemo.java файл.
- Сохраните splash.gif изображение в images каталог.
- Запустите приложение из командной строки со следующими параметрами:
java -splash:images/splash.gif SplashDemo
java -splash:images/nnn.gif SplashDemo
SplashScreen.getSplashScreen() returned null
Как Использовать Файл JAR, чтобы Вывести на экран Экран-заставку
Если Ваше приложение упаковывается в файле JAR, можно использовать SplashScreen-Image опция в файле манифеста, чтобы показать экран-заставку. Поместите изображение в файл JAR и определите путь в опции следующим образом:
Manifest-Version: 1.0 Main-Class: SplashScreen-Image:
- Скомпилируйте SplashDemo.java файл.
- Сохраните splash.gif изображение в images каталог.
- Подготовьтесь splashmanifest.mf файл следующим образом:
Manifest-Version: 1.0 Main-Class: SplashDemo SplashScreen-Image: images/splash.gif
jar cmf splashmanifest.mf splashDemo.jar SplashDemo*.class images/splash.gif
API Экрана-заставки
SplashScreen class не может использоваться, чтобы создать экран-заставку. Только единственный экземпляр, создаваемый в пределах этого class, может существовать.
Метод | Цель |
---|---|
getSplashScreen () | Возвраты SplashScreen объект, используемый для Java, запускает управление экраном-заставкой. |
createGraphics () | Создает графический контекст (как a Graphics2D объект), поскольку экран-заставка накладывают изображение, которое позволяет Вам дистиллировать экран-заставку. |
getBounds () | Возвращает границы окна экрана-заставки как a Rectangle . |
близко () | Закрывает экран-заставку и высвобождает все связанные средства. |
Пример, Который Использует API SplashScreen
Следующая таблица приводит пример, который использует экран-заставку.
Пример | Где Описано | Примечания |
---|---|---|
SplashDemo | Этот раздел | Показывает экран-заставку прежде, чем открыть окно приложения. |
Ваше использование этой страницы и всего материала на страницах под «Учебным баннером» Java подвергается этим официальным уведомлениям.
Авторское право © 1995, 2012 Oracle и/или его филиалы. Все права защищены.