Spec-Zone.ru › OpenJavaFX 8
javafx.application

Класс Application

java.lang.Object
  • javafx.application.Application

Прямые известные подклассы:

Preloader



public abstract class Application
extends Object
Класс Application, от которого наследуются JavaFX-приложения.

Жизненный цикл

Точкой входа для JavaFX-приложений является класс Application. При запуске приложения среда выполнения JavaFX выполняет следующие действия в определённом порядке:

  1. Создаёт экземпляр указанного класса Application
  2. Вызывает метод init()
  3. Вызывает метод start(javafx.stage.Stage)
  4. Ожидает завершения работы приложения, что происходит в следующих случаях:
    • приложение вызывает Platform.exit()
    • последнее окно было закрыто и атрибут implicitExit объекта Platform имеет значение true
  5. Вызывает метод stop()

Обратите внимание, что метод start является абстрактным и должен быть переопределён. Методы init и stop имеют конкретные реализации, которые ничего не делают.

Вызов метода Platform.exit() является предпочтительным способом явного завершения JavaFX-приложения. Прямой вызов метода System.exit(int) также допустим, но не позволяет выполнить метод stop() приложения.

JavaFX-приложение не должно пытаться использовать JavaFX после завершения инструментария FX или из метода ShutdownHook, то есть после возвращения метода stop() или вызова метода System.exit(int).

Параметры

Параметры приложения можно получить, вызвав метод getParameters() из метода init() или в любой момент после вызова метода init.

Потоки

JavaFX создаёт поток приложения для запуска метода start, обработки событий ввода и выполнения временных линий анимации. Создание объектов JavaFX Scene и Stage, а также изменение операций построения графиков сцены для актуальных объектов (тех объектов, которые уже присоединены к сцене) должны выполняться в потоке JavaFX-приложения.

Запускающий Java-загрузчик загружает и инициализирует указанный класс Application в потоке JavaFX-приложения. Если в классе Application нет метода main или если метод main вызывает Application.launch(), то экземпляр Application создаётся в потоке JavaFX-приложения.

Метод init вызывается в потоке запускающего компонента, а не в потоке JavaFX-приложения. Это означает, что приложение не должно создавать объект Scene или Stage в методе init. Приложение может создавать другие объекты JavaFX в методе init.

Все необработанные исключения в потоке JavaFX-приложения, возникающие во время обработки событий, выполнения временных линий анимации или любого другого кода, передаются обработчику необработанных исключений потока uncaught exception handler.

Пример

Следующий пример продемонстрирует простое JavaFX-приложение.

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;

public class MyApp extends Application {
    public void start(Stage stage) {
        Circle circ = new Circle(40, 40, 30);
        Group root = new Group(circ);
        Scene scene = new Scene(root, 400, 300);

        stage.setTitle("My JavaFX Application");
        stage.setScene(scene);
        stage.show();
    }
}

Приведённый выше пример приведет к следующему:

С тех пор:

JavaFX 2.0

  • Краткое описание вложенных классов

    Вложенные классы
    Модификатор и тип Класс и описание
    static class  Application.Parameters
    Содержит набор параметров для приложения.
  • Краткое описание полей

    Поля
    Модификатор и тип Поле и описание
    static String STYLESHEET_CASPIAN
    Константа для пользовательского стиля агента для темы "Caspian".
    static String STYLESHEET_MODENA
    Константа для пользовательского стиля агента для темы "Modena".
  • Краткое описание конструкторов

    Конструкторы
    Конструктор и описание
    Application()
    Создаёт новый экземпляр Application.
  • Краткое описание методов

    Все методыСтатические методыМетоды экземпляровАбстрактные методыКонкретные методы
    Модификатор и тип Метод и описание
    HostServices getHostServices()
    Получает поставщика HostServices для этого приложения.
    Application.Parameters getParameters()
    Возвращает параметры для этого приложения, включая любые аргументы, переданные через командную строку, и параметры, указанные в файле JNLP для апплета или приложения WebStart.
    static String getUserAgentStylesheet()
    Получает пользовательский стиль агента, используемый всем приложением.
    void init()
    Метод инициализации приложения.
    static void launch(Class<? extends Application> appClass, String... args)
    Запустить автономное приложение.
    static void launch(String... args)
    Запустить автономное приложение.
    void notifyPreloader(Preloader.PreloaderNotification info)
    Уведомляет загрузчик предварительной версии о уведомлении, сгенерированном приложением.
    static void setUserAgentStylesheet(String url)
    Устанавливает пользовательский стиль агента, используемый всем приложением.
    abstract void start(Stage primaryStage)
    Основная точка входа для всех JavaFX-приложений.
    void stop()
    Этот метод вызывается при завершении работы приложения и предоставляет удобное место для подготовки к выходу из приложения и уничтожения ресурсов.
    • Наследуемые методы из класса java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Подробное описание поля

    • STYLESHEET_CASPIAN

      public static final String STYLESHEET_CASPIAN
      Константа для пользовательского стиля агента для темы "Caspian". Caspian — это тема, поставлявшаяся по умолчанию в JavaFX 2.x.

      С момента:

      JavaFX 8.0

      См. также:

      Значения константных полей

    • STYLESHEET_MODENA

      public static final String STYLESHEET_MODENA
      Константа для пользовательского стиля агента для темы "Modena". Modena — это тема по умолчанию для JavaFX 8.x.

      С момента:

      JavaFX 8.0

      См. также:

      Значения константных полей

  • Подробное описание конструктора

    • Application

      public Application()
      Создаёт новый Application экземпляр.
  • Подробное описание метода

    • launch

      public static void launch(Class<? extends Application> appClass,
                                String... args)
      Запуск автономного приложения. Этот метод обычно вызывается из метода main(). Он не должен вызываться более одного раза, иначе будет выброшено исключение.

      Метод launch не возвращается, пока приложение не завершит работу, либо через вызов Platform.exit, либо после закрытия всех окон приложения.

      Типовое использование:

      public static void main(String[] args) {
           Application.launch(MyApp.class, args);
       }
      где MyApp — подкласс Application.

      Параметры:

      appClass — класс приложения, который создаётся и выполняется запускающим модулем.

      Исключения:

      IllegalStateException — если этот метод вызывается более одного раза.

    • launch

      public static void launch(String... args)
      Запуск автономного приложения. Этот метод обычно вызывается из метода main(). Он не должен вызываться более одного раза, иначе будет выброшено исключение. Это эквивалентно launch(TheClass.class, args), где TheClass — класс, в котором находится метод, вызывающий launch. Он должен быть подклассом Application, иначе будет выброшено исключение RuntimeException.

      Метод launch не возвращается, пока приложение не завершит работу, либо через вызов Platform.exit, либо после закрытия всех окон приложения.

      Типовое использование:

      public static void main(String[] args) {
           Application.launch(args);
       }

      Параметры:

      args — аргументы командной строки, передаваемые приложению. Приложение может получить эти параметры, используя метод getParameters().

      Исключения:

      IllegalStateException — если этот метод вызывается более одного раза.

    • init

      public void init()
                throws Exception
      Метод инициализации приложения. Этот метод вызывается сразу после загрузки и создания класса Application. Приложение может переопределить этот метод для выполнения инициализации перед фактическим запуском приложения.

      Реализация этого метода, предоставляемая классом Application, ничего не делает.

      ПРИМЕЧАНИЕ: Этот метод не вызывается в потоке JavaFX Application. Приложение не должно создавать Scene или Stage в этом методе. Приложение может создавать другие объекты JavaFX в этом методе.

      Исключения:

      Exception

    • start

      public abstract void start(Stage primaryStage)
                          throws Exception
      Главная точка входа для всех приложений JavaFX. Метод start вызывается после возвращения метода init и после готовности системы к запуску приложения.

      ПРИМЕЧАНИЕ: Этот метод вызывается в потоке JavaFX Application.

      Параметры:

      primaryStage — основное окно (stage) для этого приложения, на котором может быть установлена сцена приложения. Основное окно будет встроено в браузер, если приложение запускалось как апплет. Приложения могут создавать другие окна, если это необходимо, но они не будут основными окнами и не будут встроены в браузер.

      Исключения:

      Exception

    • stop

      public void stop()
                throws Exception
      Этот метод вызывается при завершении работы приложения и предоставляет удобное место для подготовки к завершению работы приложения и уничтожению ресурсов.

      Реализация этого метода, предоставляемая классом Application, ничего не делает.

      ПРИМЕЧАНИЕ: Этот метод вызывается в потоке JavaFX Application.

      Исключения:

      Exception

    • getHostServices

      public final HostServices getHostServices()
      Получает поставщика HostServices для этого приложения. Это обеспечивает возможность получения кодовой базы и базы документации для этого приложения, а также доступа к окружающей веб-странице.

      Возвращает:

      поставщик HostServices

    • getParameters

      public final Application.Parameters getParameters()
      Получает параметры для этого приложения, включая любые аргументы, переданные в командной строке, и любые параметры, указанные в файле JNLP для апплета или приложения WebStart.

      ПРИМЕЧАНИЕ: этот метод не следует вызывать из конструктора Application, так как он вернёт null. Он может вызываться в методе init() или в любое время после него.

      Возвращает:

      параметры для этого приложения или null, если вызваны из конструктора.

    • notifyPreloader

      public final void notifyPreloader(Preloader.PreloaderNotification info)
      Уведомляет загрузчик о событии, созданном приложением. Код приложения вызывает этот метод с PreloaderNotification, который доставляется методу Preloader.handleApplicationNotification. Это в первую очередь полезно в тех случаях, когда приложение хочет показать прогресс загрузчика во время длительной операции инициализации приложения.

      ПРИМЕЧАНИЕ: уведомление будет доставлено только методу handleApplicationNotification() загрузчика; это означает, например, что если этот метод вызывается с ProgressNotification, это уведомление не будет доставлено методу Preloader.handleProgressNotification.

      Параметры:

      info — уведомление загрузчика, созданное приложением

    • getUserAgentStylesheet

      public static String getUserAgentStylesheet()
      Получает пользовательский стиль агента, используемый во всём приложении. Используется для предоставления стилей по умолчанию для всех элементов пользовательского интерфейса и других узлов. Значение null означает, что используется платформа по умолчанию.

      ПРИМЕЧАНИЕ: Этот метод должен вызываться в потоке JavaFX Application.

      Возвращает:

      URL-адрес стиля в виде строки.

      С момента:

      JavaFX 8.0

    • setUserAgentStylesheet

      public static void setUserAgentStylesheet(String url)
      Устанавливает пользовательский стиль агента, используемый во всём приложении. Используется для предоставления стилей по умолчанию для всех элементов пользовательского интерфейса и других узлов. В каждой новой версии JavaFX может быть новое значение по умолчанию, поэтому, чтобы гарантировать согласованность, вам необходимо вызвать этот метод и выбрать значение по умолчанию для вашего приложения. Значение null восстановит стиль по умолчанию платформы. Этот параметр также можно установить в командной строке с помощью -Djavafx.userAgentStylesheetUrl=[URL] Установка в командной строке переопределяет всё, что задано этим методом в коде.

      ПРИМЕЧАНИЕ: Этот метод должен вызываться в потоке JavaFX Application.

      Параметры:

      url — URL-адрес стиля в виде строки.

      С момента:

      JavaFX 8.0

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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