Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин Страница 43
Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин читать онлайн бесплатно
Свои дочерние узлы панель FlowPane компонует в вертикальный или горизонтальный поток компонентов, размер сегментов которого регулируется свойством prefWrapLength.
При достижении длины prefWrapLength происходит перенос потока на следующую строку или столбец.
Ориентация потока компоновки панели FlowPane определяется свойством orientation.
С помощью свойств alignment, columnHalignment и rowValignment, hgap и vgap регулируется общее выравнивание содержимого панели, горизонтальное и вертикальное выравнивание, горизонтальный и вертикальный отступы.
В этом примере мы создаем горизонтальную панель и вертикальную панель.
Для панелей мы определяем размер методом setPrefWrapLength, и отступы между узлами методами setHgap и setVgap.
Затем вертикальную панель добавляем в горизонтальную панель.
Задание
Сделайте так, чтобы метки с 1 по 4 были вверху экрана.
Класс TilePane представляет панель компоновки, которая компонует свои дочерние узлы в строки или столбцы ячеек с одинаковыми размерами.
Свойство alignment определяет общее выравнивание содержимого панели TilePane.
С помощью свойства orientation устанавливается ориентация компоновки дочерних узлов – в строки или столбцы.
Свойства prefColumns и prefRows позволяют установить количество столбцов или строк панели TilePane.
А свойства hgap, vgap, prefTileHeight, prefTileWidth, tileHeight, tileWidth и tileAlignment – интервал между столбцами или строками ячеек, размеры ячеек и выравнивание узлов внутри ячеек.
Статические методы setAlignment и setMargin класса TilePane обеспечивают регулировку выравнивания определенного узла Node внутри ячейки и заполнение им ячейки.
Панель TilePane содержит набор ObservableList дочерних узлов, заполнить который можно с помощью метода getChildren.addAll класса Pane.
В этом примере мы создаем основную панель с одним столбцом.
Далее мы добавляем в нее строки – это верхний узел, затем панель с двумя столбцами, центральный узел и нижнюю панель с двумя столбцами.
Размеры ячеек мы устанавливаем методами setPrefTileWidth и setPrefTileHeight.
Задание
С помощью панели TilePane создайте аналог панели BorderPane.
Класс AnchorPane представляет панель компоновки, которая компонует свои дочерние узлы путем прикрепления их к внутренним смещениям относительно сторон панели.
Панель AnchorPane содержит набор ObservableList дочерних узлов, заполнить который можно с помощью метода getChildren.addAll класса Pane.
Компоновка дочерних узлов панели AnchorPane определяется с помощью статических методов setBottomAnchor, setLeftAnchor, setRightAnchor и setTopAnchor класса AnchorPane.
В этом примере мы создаем два узла и прикрепляем их к верхнему и левому краю панели один под другим.
Затем мы добавляем эти узлы в панель методом getChildren.addAll.
Задание
С помощью панели AnchorPane создайте аналог панели BorderPane.
2D Графика
Платформа JavaFX обеспечивает возможности 2D графики с помощью базового класса Shape и его подклассов Arc, Circle, CubicCurve, Ellipse, Line, Path, Polygon, Polyline, QuadCurve, Rectangle, SVGPath и Text, представляющих геометрические примитивы и текст.
С помощью свойства fill класса Shape определяется цвет внутренней области геометрической формы, а с помощью свойства stroke – цвет ее контура.
Свойства strokeLineCap, strokeLineJoin, strokeMiterLimit, strokeType и strokeWidth обеспечивают регулировку стиля окончания линий контура геометрической формы, стиля соединения краев сегментов формы, расположения контура геометрической формы относительно ее границ и ширину контура геометрической формы.
С помощью свойства smooth можно установить сглаживание при отображении формы.
Если требуется отобразить контур геометрической формы в виде пунктирной линии, необходимо воспользоваться методом getStrokeDashArray.addAll класса Shape для определения набора пар: длина пунктира – интервал между пунктирами, и свойством strokeDashOffset, устанавливающим интервал до первого пунктира.
Если для набора ObservableList, возвращаемого методом getStrokeDashArray, определить только одно значение, тогда оно будет задавать длину, как пунктира, так и интервал между пунктирами.
Класс Arc представляет геометрический примитив – дугу (сегмент эллипса).
С помощью свойств centerX и centerY устанавливаются координаты центра эллипса, частью которого является дуга.
Свойства radiusX и radiusY задают ширину и высоту эллипса, а свойства length и startAngle – угол сегмента эллипса и начальный угол, формирующие дугу.
Свойство type определяет стиль завершения дуги с помощью полей OPEN, CHORD и ROUND перечисления ArcType.
Приведенный здесь код демонстрирует пример создания дуги с несоединенными концами.
Класс Line представляет геометрический примитив – прямую линию и имеет, помимо унаследованных от класса Shape, собственные свойства: endX, endY, startX и startY, определяющие координаты начала и конца прямой линии.
Приведенный здесь код демонстрирует пример создания пунктирной прямой линии.
Класс Circle представляет геометрический примитив – круг и имеет, помимо унаследованных от класса Shape, собственные свойства: centerX, centerY и radius, определяющие координаты центра круга и его радиус.
Приведенный здесь код демонстрирует пример создания круга.
Класс CubicCurve представляет геометрический примитив – кубическую кривую Безье.
С помощью свойств startX, startY, endX и endY устанавливаются начальные и конечные координаты кривой.
А свойства controlX1, controlX2, controlY1 и controlY2 определяют промежуточные координаты прохождения кривой.
Приведенный здесь код демонстрирует пример создания кубической кривой Безье.
Класс QuadCurve представляет геометрический примитив – квадратичную кривую Безье.
С помощью свойств startX, startY, endX и endY устанавливаются начальные и конечные координаты кривой, а свойства controlX и controlY определяют промежуточные координаты прохождения кривой.
Приведенный здесь код демонстрирует пример создания квадратичной кривой Безье.
Класс Ellipse представляет геометрический примитив – эллипс.
Свойства centerX, centerY, radiusX, radius определяют координаты центра эллипса и его ширину и высоту.
Приведенный здесь код демонстрирует пример создания эллипса.
Класс Rectangle представляет геометрический примитив – прямоугольник.
Свойства x, y, height и width определяют координаты и размеры прямоугольника, а свойства arcHeight и arcWidth позволяют создавать прямоугольник с закругленными углами, устанавливая высоту и ширину дуги угла прямоугольника.
Приведенный здесь код демонстрирует пример создания прямоугольника.
Класс Polyline представляет геометрический примитив – ломаную линию, который определяется набором ObservableList координат, через которые должна проходить линия, включая начальные и конечные координаты x, y.
Приведенный здесь код демонстрирует пример создания ломаной линии.
Класс Polygon представляет геометрический примитив – многоугольник, который по сути является ломаной линией Polyline, концы которой соединены линией, и также как и линия Polyline, Polygon определяется набором ObservableList координат углов многоугольника.
Приведенный здесь код демонстрирует пример создания многоугольника.
Класс Path представляет фигуру, составленную из геометрических форм, и имеет, помимо унаследованных от класса Shape, собственное свойство fillRule, определяющее как области пересечения геометрических форм комбинируются для образования фигуры или по-другому, когда точка находится внутри пути.
Фигура Path состоит из набора ObservableList геометрических форм, заполнить который можно с помощью метода getElements.addAll класса Path.
Геометрические формы (или элементы пути) фигуры Path представлены базовым классом PathElement и его подклассами ArcTo, ClosePath,
Жалоба
Напишите нам, и мы в срочном порядке примем меры.