Spec-Zone.ru › OpenJavaFX 8

Пакет javafx.scene

Предоставляет основной набор базовых классов для API графического представления JavaFX.

См.: Описание

Краткое описание классов
Класс Описание
AmbientLight
Определяет объект источника рассеянного света.
Camera
Базовый класс для камеры, используемой для визуализации сцены.
Cursor
Класс для инкапсуляции битовой информации курсора мыши.
Group
Узел Group содержит список наблюдаемых дочерних элементов, которые рендерятся в порядке, когда этот узел рендерится.
ImageCursor
Пользовательское графическое представление курсора мыши.
LightBase
Класс LightBase предоставляет определения общих свойств для объектов, представляющих источник света.
Node
Базовый класс для узлов графического представления сцены.
ParallelCamera
Определяет параллельную камеру для визуализации сцены без коррекции перспективы.
Parent
Базовый класс для всех узлов, имеющих дочерние элементы в графическом представлении сцены.
PerspectiveCamera
Определяет камеру с перспективой для визуализации сцены.
PointLight
Определяет объект источника точечного света.
Scene
Класс JavaFX Scene — контейнер для всех элементов в графическом представлении сцены.
SceneAntialiasing
Класс JavaFX SceneAntialiasing определяет уровень желаемого сглаживания.
SnapshotParameters
Параметры, используемые для указания атрибутов рендеринга для снимка узла.
SnapshotResult
Этот класс содержит результат операции снимка.
SubScene
Класс SubScene — контейнер для элементов в графическом представлении сцены.
Краткое описание перечислений
Перечисление Описание
AccessibleAction
Это перечисление описывает действия, которые может запросить технология вспомогательных средств, например, экранный диктор, от графического представления сцены.
AccessibleAttribute
Это перечисление описывает атрибуты, которые может запросить технология вспомогательных средств, например, экранный диктор, от графического представления сцены.
AccessibleRole
Это перечисление описывает доступную роль для узла Node.
CacheHint
Указания кэширования для использования с Node.cacheHint
DepthTest
Это перечисление определяет возможные состояния флага depthTest в узле.

Пакет javafx.scene Описание

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

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

  • 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);
    }
}

Вышеприведенный пример генерирует следующий изображение:

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

Класс 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.

© 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