Scene Class – Классы сцен
Сцена это часть Stage, которая содержит в себе пользовательский интерфейс JavaFX приложения. Каждый stage имеет одну сцену, которая устанавливается, назначая её переменную сцены. Это даёт возможность менять сцену, которая отображается, переназначая эту переменную – это может быть очень полезно.
Класс сцены определяет небольшое число public переменных, как показано в таблице 14-5.
Смысл многих этих переменных очевиднен, другие же обсуждаются в следующей главе. Здесь обсуждаются переменные, которые относятся к позиции сцены и её размеру.
Таблица 14-5 Переменные определенные для класса сцены
Переменная | Тип | Доступ | Исходное значение | Описание |
stage | Stage | R | N/A | Контрольные точки stage содержащиеся в этой сцене. Устанавливается автоматически при установке сцены в stage. |
X | Number | R | N/A | Координата х сцены относительно stage. |
y | Number | R | N/A | Координата y сцены относительно stage. |
width | Number | RI | See text | Ширина сцены |
height | Number | RI | See text | Высота сцены |
fill | Paint | RW | Color.WHITE | Цвет заливки фона сцены. Это может быть один цвет или градиент. Paint и Color обсуждается в следующей главе. |
cursor | Cursor | RW | null | Курсор по умолчанию отображается, когда курсор находится над сценой. Курсоры также обсуждаются в следующей главе. |
stylesheet | String[] | RW | Empty | Установленный лист стилей, которые используются для конфигурации узлов в сцене. Стиль может использоваться для установки согласованных наборов цветов, шрифтов всех узлов в сцене, без необходимости их разделения для каждого узла. Стили обсуждаются в главе 23, “Style Sheets.” |
camera | Camera | RW | null | Камера используется для обзора книги. Это используется только в окружении, поддерживающем 3D графику сцен. Смотрите «3D Features» позже в этой части для получения большей информации. |
content | Node[] | RW | Empty | Узлы которые создаются для пользовательского интерфейса. Смотрите раздел «Nodes – Узлы» позже в этой главе. |
Переменные x и y представляют позицию от верхнего левого угла сцены в stage. Эти переменные имеют режим доступа «только чтение» поскольку эти позиции фиксированы и depends в запускаемом окружении и стилях stage.
На рисунке 14-3 показано отношение между stage и сценой (scene) для дэсктопной версии приложения.
Заметим, что переменные x и y сцены представляют соответственно ширину окна левой части области окна и высоту заголвка окна. В случае их не указания х и у будут приняты равными нулю.
Переменные высоты и ширины меняют тип доступа на «только чтение» после создания сцены, но вы можете инициировать переменные для этого. Вот как они используются:
- Если не установлено значение ширины, сцена вычисляет необходимые значения ширины, основываясь на узлах сцены.
- Аналогично, если не установлено значение высоты, оно вычисляется, основываясь на узлах, используемых в сцене.
Если переменные width и height stage не установлены, используются значения, подходящие для данной сцены на столько большие, на сколько необходимо для размещения элементов сцены. Если ширина и высота для stage была установлена, значения необходимые для сцены игнорируются.
В некоторых случаях stage не может удовлетворить требованиям сцены. Это может произойти потому что явно заданные значения ширины и высоты послужили причиной игнорирования параметров сцены или по причине недостатка пространства на экране (например в мобильном устройстве) или размеров браузера (если это апплет). Если это произошло stage использует всё доступное пространство и устанавливает размеры сцены соответственно.
Несколько примеров сделают это более понятным. Рассмотрим несколько примеров:
Stage {
style: StageStyle.DECORATED
scene: Scene {
Width: 300
Height: 100
}
}
Класс сцены определяет небольшое число public переменных, как показано в листинге 14-5.
ОтветитьУдалитьСмените на " в таблице 14-5"