Dolphin Platform Chart Объекты не работают?
В моем проекте платформы Dolphin объект XYChart.Series, который содержит серию XYChart.Data, похоже, не синхронизирует свою модель данных.
Мой видоискатель связывает данные BarChart с PM и устанавливает их в BarChartObjekt
public class GesamtErgebnisViewBinder extends AbstractViewBinder<GesamtErgebnisModel> {
@Override
protected void init() {
....
ObservableList<XYChart.Series<String, Integer>> data = FXWrapper.wrapList(getModel().getData())
barChart.setData(data);
}
}
Модель состоит из наблюдаемого списка данных BarChart
@DolphinBean
public class GesamtErgebnisModel {
....
private ObservableList<XYChart.Series<String, Integer>> data;
....
}
На сервере я вычисляю данные BarChart, чтобы передать их объекту моей модели.
@DolphinController("GesamtErgebnisController")
public class GesamtErgebnisController {
@Inject
private BeanManager beanManager;
@DolphinModel
private GesamtErgebnisModel model;
...
taskExecutor.execute(GesamtErgebnisController.class, e -> {
final Series<String, Integer> series = beanManager.create(XYChart.Series.class);
rawFilterData.entrySet().stream().map((mitgliedToFilterResultEntry) -> {
final XYChart.Data<String, Integer> datas = beanManager.create(XYChart.Data.class);
....
}).forEach((datas) -> {
series.getData().add(datas);
});
model.getData().add(series);
});
Но гистограмма просто остается пустой. Просто категория видна. Поскольку я подумал, что, возможно, мои данные, которые я собрал, некорректен, я изменил пример с веб-сайта Oracle и проверил данные вручную. На стороне сервера это тоже не работает.. тот же вывод. Если я размещу этот код на стороне клиента внутри метода init моего видоискателя, данные будут показаны правильно. Так что не должно быть ничего плохого в передаваемых данных. Наблюдаемые списки со строкой, т.е. работают просто отлично. Может быть, я что-то упускаю?
1 ответ
Я думаю, что не стоит использовать классы JavaFX на сервере (или в совместно используемой модели). При использовании Dolphin Platform рекомендуется создавать независимую (презентационную) модель клиента API. Вы можете легко привязать эту модель к клиентской модели, которая использует определенные классы UI-Toolkit (например, JavaFX). Я создал образец для вашей конкретной задачи, который использует BarChart в клиенте JavaFX, который связан с моделью платформы Dolphin. Вы можете найти это в Github.