Spec-Zone.ru › OpenJavaFX 21

Пакет javafx.scene

package javafx.scene

Предоставляет основной набор базовых классов для API JavaFX Scene Graph. Дерево сцены — это структура данных в виде дерева, где каждый элемент дерева имеет ноль или одного родителя и ноль или более потомков.

Два основных класса в этом пакете:

  • Scene – Определяет сцену, подлежащую отрисовке. Она содержит переменную fill, которая определяет фон сцены, переменные width и height, которые определяют размер сцены, и последовательность content, содержащую список «корневых» Nodes, которые нужно отрисовать на сцене. Эта последовательность Nodes является деревом сцены для этой Scene. Scene отрисовывается на Stage, который является контейнером верхнего уровня для содержимого JavaFX.
  • Node – Базовый абстрактный класс для всех узлов в дереве сцены. Каждый узел является либо «листовым» узлом без дочерних узлов, либо «ветвящимся» узлом с нулём или более дочерними узлами. Каждый узел в дереве имеет ноль или одного родителя. Только один узел в каждом дереве в дереве сцены не будет иметь родителя, что часто называется «корневым» узлом. В дереве сцены может быть несколько деревьев. Некоторые деревья могут быть частью Scene, в этом случае они подлежат отображению. Другие деревья могут не принадлежать ни к одному Scene.

Ветвящиеся узлы — это классы типа Parent или их подклассы.

Листовые узлы — это такие классы, как Rectangle, Text, ImageView, MediaView, или другие подобные листовые классы, которые не могут иметь дочерние элементы.

Узел может встречаться не более одного раза в любом месте дерева сцены. В частности, узел должен появляться не более одного раза в списке дочерних элементов Parent или в качестве обрезки Node. Подробнее об этих ограничениях см. класс Node.

Пример

Пример дерева сцены JavaFX:

 package example;

 import javafx.application.Application;
 import javafx.stage.Stage;
 import javafx.scene.Scene;
 import javafx.scene.Group;
 import javafx.scene.paint.Color;
 import javafx.scene.shape.Circle;
 import javafx.scene.text.Text;
 import javafx.scene.text.Font;

 public class Example extends Application {

     @Override public void start(Stage stage) {

         Group root = new Group();
         Scene scene = new Scene(root, 200, 150);
         scene.setFill(Color.LIGHTGRAY);

         Circle circle = new Circle(60, 40, 30, Color.GREEN);

         Text text = new Text(10, 90, "JavaFX Scene");
         text.setFill(Color.DARKRED);

         Font font = new Font(20);
         text.setFont(font);

         root.getChildren().add(circle);
         root.getChildren().add(text);
         stage.setScene(scene);
         stage.show();
     }

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

Этот пример сгенерирует следующий образ:

A visual rendering of the JavaFX Scene example

Система координат и преобразования

Класс Node определяет традиционную систему координат компьютерной графики «локальную», в которой ось x возрастает вправо, а ось y возрастает вниз. Конкретные классы узлов для фигур предоставляют переменные для определения геометрии и расположения фигуры в этом локальном пространстве координат. Например, Rectangle предоставляет переменные x, y, width, height, а Circle — переменные centerX, centerY и radius.

Любой Node может иметь применённые к нему преобразования. К ним относятся преобразования смещения, поворота, масштабирования или сдвига. Преобразование изменит положение, ориентацию или размер системы координат, как она отображается родительским элементом узла, который был преобразован.

Дополнительную информацию о преобразованиях см. в классе Node.

Прямоугольник охватывания

Поскольку каждый Node имеет преобразования, геометрический прямоугольник охватывания каждого узла Node может быть описан по-разному в зависимости от того, учитываются ли преобразования или нет.

Каждый Node имеет следующие свойства, определяющие эти прямоугольники охватывания:

  • boundsInLocal — определяет границы Node в не преобразованных локальных координатах.
  • boundsInParent — определяет границы Node после применения всех преобразований. Он называется «boundsInParent», потому что прямоугольник будет относиться к системе координат родителя.
  • layoutBounds — определяет прямоугольные границы Node, которые должны использоваться в качестве основы для вычислений макета, и могут отличаться от визуальных границ узла. Для фигур, текста и ImageView по умолчанию layoutBounds включает только геометрию фигуры.

Дополнительную информацию о прямоугольниках охватывания см. в классе Node.

CSS

Дерево сцены JavaFX предоставляет возможность форматирования узлов с использованием CSS (Cascading Style Sheets). Класс Node содержит переменные id, styleClass и style, которые используются селекторами CSS для поиска узлов, к которым необходимо применить стили. Класс Scene содержит переменную stylesheets, которая представляет собой последовательность URL-адресов, ссылающихся на файлы стилей CSS, которые должны применяться к узлам в этой сцене.

Для получения дополнительной информации о CSS, способе применения стилей CSS к узлам и доступных свойствах для форматирования, см. Руководство по CSS.

javafx.graphics
javafx.controls
javafx.controls
javafx.graphics
javafx.graphics
javafx.graphics
javafx.graphics
javafx.media
javafx.graphics
javafx.graphics
javafx.graphics
javafx.graphics
javafx.graphics
javafx.web
Модуль Пакет Описание
javafx.scene.canvas
Предоставляет набор классов для холста, API для рендеринга в режиме реального времени.
javafx.scene.chart
Интерфейс пользователя JavaFX предоставляет набор компонентов диаграмм, которые являются очень удобным способом визуализации данных.
javafx.scene.control
Контролы интерфейса пользователя JavaFX (UI-контролы или просто Контролы) являются специализированными узлами в графе сцены JavaFX, особенно пригодными для повторного использования в различных контекстах приложений.
javafx.scene.effect
Предоставляет набор классов для добавления графических фильтров эффектов к узлам графа сцены JavaFX.
javafx.scene.image
Предоставляет набор классов для загрузки и отображения изображений.
javafx.scene.input
Предоставляет набор классов для обработки событий ввода мыши и клавиатуры.
javafx.scene.layout
Предоставляет классы для поддержки макета интерфейса пользователя.
javafx.scene.media
Предоставляет набор классов для интеграции аудио и видео в приложения JavaFX.
javafx.scene.paint
Предоставляет набор классов для цветов и градиентов, используемых для заливки фигур и фонов при рендеринге графа сцены.
javafx.scene.robot
Предоставляет API для имитации взаимодействия пользователя, такого как нажатие клавиш на клавиатуре и использование мыши.
javafx.scene.shape
Предоставляет набор 2D классов для определения и выполнения операций над объектами, относящимися к двумерной геометрии.
javafx.scene.text
Предоставляет набор классов для шрифтов и рендерируемых узлов текста.
javafx.scene.transform
Предоставляет набор удобных классов для выполнения поворотов, масштабирования, наклона и перемещения преобразований для объектов Affine.
javafx.scene.web
Этот пакет предоставляет средства для загрузки и отображения веб-контента.
Класс Описание
AccessibleAction
Это перечисление описывает действия, которые может запросить вспомогательная технология, такая как экранный диктор, у графа сцены.
AccessibleAttribute
Это перечисление описывает атрибуты, которые может запросить вспомогательная технология, такая как экранный диктор, у графа сцены.
AccessibleAttribute.ToggleState
Это перечисление описывает значения для атрибута TOGGLE_STATE.
AccessibleRole
Это перечисление описывает доступную роль для Node.
AmbientLight
Свет, равномерно освещающий объект со всех сторон независимо от его положения и ориентации.
CacheHint
Указания по кэшированию для использования с Node.cacheHint
Camera
Базовый класс для камеры, используемой для рендеринга сцены.
Cursor
Класс для инкапсуляции битовой карты курсора мыши.
DepthTest
Это перечисление определяет возможные состояния флага depthTest в узле.
DirectionalLight
Свет, освещающий объект из определённого направления.
Group
Узел Group содержит ObservableList дочерних элементов, которые рендерятся в порядке, когда этот узел рендерится.
ImageCursor
Настраиваемое изображение курсора мыши.
LightBase
Класс LightBase является базовым классом для всех объектов, представляющих источник света.
Node
Базовый класс для узлов графа сцены.
ParallelCamera
Определяет параллельную камеру для рендеринга сцены без коррекции перспективы.
Parent
Базовый класс для всех узлов, имеющих дочерние элементы в графе сцены.
PerspectiveCamera
Определяет камеру с перспективой для рендеринга сцены.
PointLight
Источник света, излучающий свет равномерно во всех направлениях от себя.
Scene
Класс JavaFX Scene является контейнером для всего содержимого в графе сцены.
SceneAntialiasing
Класс JavaFX SceneAntialiasing определяет уровень сглаживания, желаемый для сцены.
SnapshotParameters
Параметры, используемые для указания атрибутов рендеринга для снимка Node.
SnapshotResult
Этот класс содержит результат операции снимка.
SpotLight
Источник света, излучающий свет в конусе в определённом направлении от себя.
SubScene
Класс SubScene является контейнером для содержимого в графе сцены.

© 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