我有一个窗口,其中包含三个不同的折线图。我正在尝试单独设置每个折线图系列的颜色。现在我有一个 css 文件,里面有这样的东西:
.default-color0.chart-series-line { -fx-stroke: blue }
.default-color1.chart-series-line { -fx-stroke: black }
这样做是在每个图表中设置系列的颜色。例如,如果我有一个包含两个系列的折线图,一个为蓝色,另一个为黑色。但是使用此设置,一个系列的所有三个图表都默认为蓝色。
我想要实现的是单独设置系列,以便我的第一个折线图有 someColor1,第二个折线图有 someColor2,等等。
我已经尝试了很多东西,并在整个互联网上进行了搜索,但我要么看到了不起作用的“猜测”,要么看到了通过 css 设置默认值的方法。有人能解决这个问题吗?
例如,我正在尝试使用 lineChart.setStyle("-fx-stroke: green");
设置样式。
最佳答案
要在 CSS 文件中单独引用节点(而不是按类分组),您需要向节点添加 id
:
LineChart<Number, Number> chart1 = ... ;
LineChart<Number, Number> chart2 = ... ;
LineChart<Number, Number> chart3 = ... ;
chart1.setId("chart1");
chart2.setId("chart2");
chart3.setId("chart3");
显然,您可以选择更有意义的 id 来描述每个图表的内容。
然后在你的 CSS 中你可以做
#chart1 .chart-series-line { -fx-stroke: blue }
#chart2 .chart-series-line { -fx-stroke: black }
#chart3 .chart-series-line { -fx-stroke: green }
关于java - 更改单个折线图系列颜色JavaFX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43378004/