JavaFx 散点图自定义图例

JavaFx Scatter Chart custom Legend

我的 JavaFx 散点图图例有问题。我使用以下代码动态更改系列的样式:

Set<Node> nodes = scatterChart.lookupAll(".series0"); 
                    for (Node n : nodes) {
                        n.setStyle("-fx-blend-mode: multiply ;");
                    }

我在 setStyle 方法中对所有系列和不同的字符串执行此操作,它在图表中工作正常。我的问题是这些更改不会影响一直显示每个系列的默认颜色、形状等的图例,而不是我制作的那些。任何人都可以提出任何建议吗?

我发布了问题,但找到了解决方案,我想我会把它写在这里,以防其他人遇到与我相同的问题。我将答案的代码更改如下:

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 中,然后在将所有系列添加到散点图之后,我执行以下代码:

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++;
             }

我希望这能像对我一样帮助别人!