Spec-Zone.ru › OpenJavaFX 24

Пакет 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 есть следующие свойства, которые определяют эти прямоугольники ограничивающей области:

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

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

CSS

Графическое дерево JavaFX предоставляет возможность стилизации узлов с помощью CSS (каскадных таблиц стилей). Класс 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
Предоставляет набор классов для интеграции аудио и видео в приложения Java FX.
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
Параметры, используемые для указания атрибутов рендеринга для снимка узла.
SnapshotResult
Этот класс содержит результат операции снимка.
SpotLight
Источник света, излучающий свет в конусе в определенном направлении от себя.
SubScene
Класс SubScene является контейнером для содержимого в графическом дереве.
TraversalDirection
Определяет направление перемещения фокуса.

Отправить сообщение об ошибке или предложить улучшение
Авторские права © 2008, 2025, Oracle и/или его аффилированные лица. Все права защищены.

© 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