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.

Другие вопросы по тегам