Spec-Zone .ru
спецификации, руководства, описания, API
|
Почти у всех современных приложений есть экран-заставка. Обычно экраны-заставки используются в следующих целях:
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, которая выводит на экран экран-заставку:
java -splash:<file name> <class name>
SplashDemo.java
файл.splash.gif
изображение в images
каталог.java -splash:images/splash.gif SplashDemo
nnn.gif
. Запустите приложение следующим образом: java -splash:images/nnn.gif SplashDemo
SplashScreen.getSplashScreen() returned null
Если Ваше приложение упаковывается в файле JAR, можно использовать SplashScreen-Image
опция в файле манифеста, чтобы показать экран-заставку. Поместите изображение в файл JAR и определите путь в опции следующим образом:
Manifest-Version: 1.0 Main-Class: <class name> SplashScreen-Image: <image name>
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
java -jar splashDemo.jar
SplashScreen
class не может использоваться, чтобы создать экран-заставку. Только единственный экземпляр, создаваемый в пределах этого class, может существовать.
Метод | Цель |
---|---|
getSplashScreen () | Возвраты SplashScreen объект, используемый для Java, запускает управление экраном-заставкой. |
|
Создает графический контекст (как a Graphics2D объект), поскольку экран-заставка накладывают изображение, которое позволяет Вам дистиллировать экран-заставку. |
|
Возвращает границы окна экрана-заставки как a Rectangle . |
|
Закрывает экран-заставку и высвобождает все связанные средства. |
Следующая таблица приводит пример, который использует экран-заставку.
Пример | Где Описано | Примечания |
---|---|---|
SplashDemo |
Этот раздел | Показывает экран-заставку прежде, чем открыть окно приложения. |