在带有css的JavaFX中,有一种方法可以单独设置不同的图表样式,而不会使css覆盖我的所有图表。当我更改一个图表的CSS时,它会覆盖其他图表?如何为各个图表制作css代码而不是所有图表?提前谢谢。
答案 0 :(得分:1)
在您的代码中,设置图表的ID,如
...
final LineChart<Number,Number> lineChart = new LineChart<Number,Number>(xAxis,yAxis);
lineChart.setId("chart1");
...
final LineChart<Number,Number> lineChart2 = new LineChart<Number,Number>(xAxis,yAxis);
lineChart2.setId("chart2");
...
然后,您可以通过CSS中的#id
选择器按ID引用每个单独的图表。
假设您要显示两个每个系列都有一个系列的折线图,并且您希望将第一个图表中的系列显示为黑色而第二个图表中的系列显示为黄色,则可以使用以下CSS:
#chart1 .default-color0.chart-series-line {
-fx-stroke: black;
}
#chart2 .default-color0.chart-series-line {
-fx-stroke: yellow;
}
有关详细信息,另请参阅Styling Charts with CSS。