Dolphin 平台图表对象不起作用?
Dolphin Platform Chart Objects not working?
在我的 Dolphin Platform 项目中,包含一系列 XYChart.Data 的 XYChart.Series 对象似乎没有同步其数据模型。
我的viewbinder将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);
}
}
该模型由一个可观察的条形图数据列表组成
@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 方法中,数据就会正确显示。所以传递的数据应该没有问题。带有 String 的可观察列表,即工作得很好。也许我还漏掉了什么?
我认为在服务器(或共享模型)上使用 JavaFX 类 不是一个好主意。使用 Dolphin Platform 时,最好的做法是创建一个客户端 API 独立(演示)模型。您可以轻松地将此模型绑定到使用 UI-Toolkit(如 JavaFX)的特定 类 的客户端模型。我为您的具体问题创建了一个示例,该示例在绑定到 Dolphin 平台模型的 JavaFX 客户端中使用 BarChart。你可以 find it at Github.
在我的 Dolphin Platform 项目中,包含一系列 XYChart.Data 的 XYChart.Series 对象似乎没有同步其数据模型。
我的viewbinder将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);
}
}
该模型由一个可观察的条形图数据列表组成
@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 方法中,数据就会正确显示。所以传递的数据应该没有问题。带有 String 的可观察列表,即工作得很好。也许我还漏掉了什么?
我认为在服务器(或共享模型)上使用 JavaFX 类 不是一个好主意。使用 Dolphin Platform 时,最好的做法是创建一个客户端 API 独立(演示)模型。您可以轻松地将此模型绑定到使用 UI-Toolkit(如 JavaFX)的特定 类 的客户端模型。我为您的具体问题创建了一个示例,该示例在绑定到 Dolphin 平台模型的 JavaFX 客户端中使用 BarChart。你可以 find it at Github.