Графические элементы. Класс Node

Последнее обновление: 26.09.2021

Все графические элементы, которые используются в объекте Scene и добавляются в Scene Graph, должны представлять класс javafx.scene.Node или иначе узел. Все встроенные классы визуальных графических элементов или узлы, например, кнопки, текстовые поля и другие, наследуется от класса Node.

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

Базовую иерархию классов можно представить следующим образом:

Иерархия класса Node в JavaFX

Вкратце рассмотрим эту иерархию. Основные классы, которые наследуются от класса Node:

  • javafx.scene.shape.Shape: является базовым классом для создания геометрических двухмерных примтивов (например, линия, прямоугольник, эллипс)

  • javafx.scene.shape.Shape3D: является базовым классом для создания трехмерных объектов

  • javafx.scene.canvas.Canvas: представляет полотно для отрисовки различного содержимого

  • javafx.scene.Camera: базовый класс камеры, котоый применяется для рендеринга сцены

  • javafx.scene.LightBase: предоставляет базовый функционал для классов, которые будут представлять источники света

  • javafx.scene.image.ImageView: элемент для отображения изображений

  • javafx.scene.media.MediaView: элемент для работы с мультимедиа

  • javafx.embed.swing.SwingNode: элемент для встраивания содержимого Swing в JavaFX

  • javafx.scene.SubScene: элемент для части сцены в JavaFX, позвляет разбить сцену на подсцены

  • javafx.scene.Parent: базовый класс для всех элементов, которые могут содержать другие элементы

Класс Parent

В данном случае следует выделить класс javafx.scene.Parent, который представляет функциональность для управления вложенными узлами, их добавления и удаления и прочие операции с ними. От него наследуются следующие классы:

  • javafx.scene.web.WebView: элемент, который позволяет отображать веб-содержимое.

  • javafx.scene.Group: представляет контейнер для группы объектов

  • javafx.scene.layout.Region: базовый класс для всех элементов управления, панелей компоновки и диаграмм. Его отличительная особенность состоит в том, что он добавляет функциональность управления границами и размерами элементов.

Класс Region

Здесь выделим класс javafx.scene.layout.Region, который является базовым классом для большинства визуальных компонентов, которые далее будут рассматриваться.

Класс Region определяет свойства и методы для управления и получения ширины, высоты элемента, для управления его отступами, границами, позициониованием. Некоторые из его основных методов:

  • getHeight(): возвращает высоту элемента

  • setHeight(double height): устанавливает высоту элемента

  • getWidth(): возвращает ширину элемента

  • setWidth(double height): устанавливает ширину элемента

  • getBackground(): возвращает фон элемента в виде объекта Background

  • setBackground(Background value): устанавливает фон элемента

  • getBorder(): возвращает границу элемента в виде объекта Border

  • setBorder(Border value): устанавливает границу элемента

  • getPadding(): возвращает отступы элемента в виде объекта Insets

  • setPadding(Insets value): задает отступы элемента

Соответственно все классы-наследники смогут использовать эти методы.

От него происходят три больших группы узлов:

  • javafx.scene.chart.Chart: базовый класс для всех диаграмм.

  • javafx.scene.layout.Pane: базовый класс для всех панелей компоновки, которые позволяют управлять расположением вложенных элементов, определенным образом упорядочивать их.

  • javafx.scene.control.Control: базовый класс для всех элементов управления (кнопок, текстовых полей ввода, списков и т.д.).

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850