Если вы привыкли к созданию Свинг приложений, вы, вероятно, начнете с JFrame и начнете размещать элементы управления пользовательского интерфейса на панели контента. Используя JFrame вы в основном создаете приложения для запуска их на настольном компьютере. Чтобы ваше приложение заработало в браузере, вам придется его изменить на использование апплета, в качестве контейнера верхнего уровня, а что бы перенести приложение на мобильный телефон его придется менять снова, что бы создать мидлет. Выбирая контейнер верхнего уровня, как в Java, вы ограничиваетесь одной средой выполнения. Чтобы сделать возможным запуск JavaFX приложений в любой из этих сред, пользовательский интерфейс не основан на конкретных контейнерах верхнего уровня, вместо этого, он строится как сцена в рамках этапа (Stage), оба из которых не зависят от платформы.
Построение Stage и сценыStage представлен javafx.stage.Stage классом, действует как заместитель контейнера верхнего уровня, а сцена, экземпляр класса javafx.scene.Scene, фактически является контейнером в который вы помещаете элементы пользовательского интерфейса. Во время выполнения Stage связан с соответствующим контейнером верхнего уровня, который зависит от среды, в которой ваше приложение на самом деле работает. Подбор и управление, чему контейнер соответствует задача библиотеки выполнения JavaFX. Как вы увидите в главе 14, "Основы пользовательского интерфейса", класс Stage имеет переменные экземпляра, которые можно использовать для настройки внешнего вида и поведения контейнера верхнего уровня, например его название, если таковое имеется.
Чтобы приступить к созданию пользовательского интерфейса, необходимо добавить код для создания stage и сцены в файл SnowStorm.fx. Вы могли бы ввести этот код самостоятельно, но есть более быстрый способ сделать это:
1. В среде NetBeans, убедитесь, что палитра открыта (Palette view), если это не так, откройте её, выбрав Window, Palette. Пользователи Eclipse должны открыть Snippets view, который можно найти в перспективе JavaFX.
2. Откройте раздел Application в палитрах, щелкните по иконке Stage и перетащите его в редактор.
Когда вы переместите иконку Stage, необходимый код для создания stage встроенной сцены добавиться вместе с необходимыми строками импорта, как показано на рисунке 4-3.
Рисунок 4-3 Добавление stage и сцене в приложение SnowStorm
Теперь измените значение переменной title stage с MyApp на JavaFX Snow Storm и удалите строки, которые устанавливают свойства высоты и ширины сцены.
Ваш код должен выглядеть следующим образом:
Теперь измените значение переменной title stage с MyApp на JavaFX Snow Storm и удалите строки, которые устанавливают свойства высоты и ширины сцены.
Ваш код должен выглядеть следующим образом:
Код на строках с 6 по 11 состоит из имени класса stage, а за фигурными скобками расположены литералы объекта. Это создаст экземпляр класса Stage, с переменными, перечисленными в фигурных скобках, устанавливающие заданные значения. Здесь, переменная title контейнера(он же stage) установлена на "JavaFX Snow Storm", и переменная scene экземпляр класса Scene, которая создает вложенный литерал объекта на линии с 8 по 10. Литеры объектов подробно обсуждаются в главе 6, "Выражения, функции и литералы объектов".
Вы можете быть удивлены, почему мы удалили строки, задающие ширину и высоту сцены. Если вы установили определенные значения этих переменных, сцена изменит свой размер и соответственно сделает контейнер (stage). В этом приложении мы действительно хотим создать сцену достаточно большой, что бы уместить фоновое изображение, поэтому мы не станем жестко задавать значения высоты и ширины, потому что сцена может определить сама насколько большой она должна быть, если этого явно не указывать.

Комментариев нет:
Отправить комментарий