在我的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网站上修改了一个示例,并手动测试了数据。在服务器端,这也不起作用..同样的输出。如果我将此代码放在viewbinder的init方法内的客户端,数据将正确显示。因此,所传递的数据应该没有任何问题。具有字符串的可观察列表,即工作正常。也许我错过了别的什么?
发布于 2015-12-16 09:27:56
我认为在服务器上(或者在共享模型中)使用JavaFX类不是个好主意。在使用Dolphin平台时,最好是创建一个客户端API独立(表示)模型。您可以轻松地将此模型绑定到使用UI-Toolkit的特定类(如JavaFX)的客户端模型。我为您的具体问题创建了一个示例,它使用绑定到模型的BarChart客户机中的JavaFX。你可以在吉特布找到它。
https://stackoverflow.com/questions/34134141
复制相似问题