我的Scatter Chart与JavaFx的图例有问题。我使用以下代码动态更改系列的样式:
Set<Node> nodes = scatterChart.lookupAll(".series0");
for (Node n : nodes) {
n.setStyle("-fx-blend-mode: multiply ;");
}
我为所有系列执行此操作,并在setStyle方法中使用不同的字符串,它在图表中工作正常。我的问题是这些变化不影响传说,它继续显示每个系列的默认颜色,形状等,而不是我所做的那些。任何人都可以提出任何建议吗?
答案 0 :(得分:1)
我发布了这个问题,但我找到了一个解决方案,我想我会在这里写一下,以防其他人遇到与我一样的问题。我更改了答案的代码如下:
ArrayList<Node> seriesNodes = new ArrayList<Node>();
Set<Node> nodes = scatterChart.lookupAll(.series0);
int flag=0;
for (Node n : nodes) {
n.setStyle("-fx-blend-mode: multiply ;");
if(flag==0){
seriesNodes.add(n);
}
flag++;
}
我为每个系列执行此操作,因此我将每个系列的节点保存在ArrayList中,然后在将所有系列添加到scatterChart后,我执行以下代码:
Set<Node> items = scatterChart.lookupAll("Label.chart-legend-item");
int it=0;
for (Node item : items) {
Label label = (Label) item;
label.setGraphic(seriesNodes.get(it));
it++;
}
我希望这可以帮助别人,就像它为我做的那样!