3

我正在尝试在此代码中动态设置我的AreaChart系列的样式,但它不起作用。我想在不通过 CSS 的情况下更改每个系列的背景。

XYChart.Series series1 = new XYChart.Series();
series1.getNode().setStyle("chart-series-area-fill { -fx-fill: transparent; }");
4

1 回答 1

2

解决方案

在舞台上显示图表后使用以下代码:

// look up first series fill.
Node node = ac.lookup(".default-color0.chart-series-area-fill");
// set the first series fill to translucent pale green
node.setStyle("-fx-fill: rgba(152, 251, 152, 0.5);");           

为什么你的方法不起作用

根据 javadoc,您不能在setStyle调用中应用 css 选择器:

此变量包含样式属性和值,而不是样式规则的选择器部分。

于 2014-01-03T19:30:23.323 回答