Работа с JFXtras-Agenda, как добавить его в fxml-файл

Как я могу добавить повестку дня JFXtras в свой файл fxml, поскольку я обычно работаю с конструктором сцен, я не очень разбираюсь в кодировании fxml. Было бы здорово, если бы кто-нибудь показал часть своего кода.


person Community    schedule 15.11.2014    source источник


Ответы (1)


Повестку дня можно добавить в файл fxml, импортировав jfxtras.scene.control.agenda.* и затем создав тег повестки дня. Однако API Agenda требует больше усилий, чем обычный элемент управления, поэтому, несмотря на то, что добавить элемент управления в FXML несложно, после этого вы должны манипулировать им из Java. Ниже приведен рабочий пример FXML:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import java.lang.*?>
<?import java.util.*?>
<?import jfxtras.scene.control.agenda.*?>

<HBox xmlns:fx="http://javafx.com/fxml">
    <Agenda id="id1"/>
</HBox>

SceneBuilder имеет очень ограниченную поддержку сторонних элементов управления; мало того, что есть много вещей о встроенных элементах управления JavaFX, жестко запрограммированных в конструкторе сцен, у него также есть проблема, когда элемент управления использует дополнительные библиотеки или, как JFXtras, разделен на отдельные банки. Так что вам нужно добавить jar jfxtras-all в SceneBuilder и надеяться, что он не споткнется...

person tbeernot    schedule 15.11.2014
comment
Спасибо за отличный ответ. Я использовал ваш пример и попытался импортировать всю библиотеку fxtras, но конструктор сцен не смог найти ни одной модели. Поэтому я попробовал это только с банкой повестки дня. И теперь это, кажется, работает. - person ; 15.11.2014