Javafx 2 JavaFx条形图图例颜色

Javafx 2 JavaFx条形图图例颜色,javafx-2,Javafx 2,我知道我可以使用以下代码设置图例项的颜色: (节点n:chart.lookupAll(“.bar legend symbol.default-color0”)){ n、 设置样式(“-fx背景色:“+”红色“+”;”); } 但它只有在我首先将数据添加到图表中,然后将图表添加到场景中时才起作用。 像这样: final XYChart.Series<String, Number> series = new XYChart.Series<String, Number>();

我知道我可以使用以下代码设置图例项的颜色:

(节点n:chart.lookupAll(“.bar legend symbol.default-color0”)){ n、 设置样式(“-fx背景色:“+”红色“+”;”); }

但它只有在我首先将数据添加到图表中,然后将图表添加到场景中时才起作用。 像这样:

final XYChart.Series<String, Number> series = new XYChart.Series<String, Number>();
XYChart.Data<String, Number>bar = new XYChart.Data<String, Number>("test", 120);
series.getData().add(bar);

chart.getData().add(series);

chartFxPanel.setScene(new Scene(chart));

for (Node n : chart.lookupAll(".bar-legend-symbol.default-color0")) {
    n.setStyle("-fx-background-color: " + "red"+ ";");
   }
final XYChart.Series系列=新的XYChart.Series();
XYChart.Databar=新的XYChart.Data(“测试”,120);
series.getData().add(条);
chart.getData().add(系列);
chartFxPanel.setScene(新场景(图表));
对于(节点n:chart.lookupAll(“.bar图例符号.default-color0”)){
n、 设置样式(“-fx背景色:“+”红色“+”;”);
}
但我想在将图表添加到场景后将数据添加到图表中。如果执行此操作,则不会更改图例项的颜色:

final XYChart.Series<String, Number> series = new XYChart.Series<String, Number>();
XYChart.Data<String, Number>bar = new XYChart.Data<String, Number>("test", 120);
series.getData().add(bar);


chartFxPanel.setScene(new Scene(chart));
chart.getData().add(series);


for (Node n : chart.lookupAll(".bar-legend-symbol.default-color0")) {
    n.setStyle("-fx-background-color: " + "red"+ ";");
   }
final XYChart.Series系列=新的XYChart.Series();
XYChart.Databar=新的XYChart.Data(“测试”,120);
series.getData().add(条);
chartFxPanel.setScene(新场景(图表));
chart.getData().add(系列);
对于(节点n:chart.lookupAll(“.bar图例符号.default-color0”)){
n、 设置样式(“-fx背景色:“+”红色“+”;”);
}

如何更改图例项的颜色?

如果在调用中包装查找/设置样式代码,则可能会起作用(或者在最坏的情况下,使用类似于此的延迟代码)。这些构造使JavaFX系统有机会在下一个脉冲中处理和设置数据项更改的样式,以便您可以随后覆盖它


为什么不能使用css样式表而不是java代码查找来定制样式?也就是说,使用中概述的类似技术。这样,您就不需要处理与查找时间相关的问题,这似乎更可取。

谢谢您的回答。我需要一个动态图表,这样我就不能使用固定数量的颜色。