1
在我的應用程序(JDK 1.8u51)中,我想爲StackedBarChart中的某些數據類別設置一些特定的顏色。我用CSS使這個波紋管:JavaFX StackedBarChart圖例顏色不遵循圖表顏色CSS樣式
.root{
-fx-ok-color: darkgreen;
-fx-critical-color: darkblue;
-fx-warning-color: gold;
-fx-minor-color: orange;
-fx-major-color: red;
-fx-undefined-color: darkgrey;
}
.okChartBar{
-fx-bar-fill : -fx-ok-color;
}
.warnigChartBar{
-fx-bar-fill : -fx-warning-color;
}
.minorChartBar{
-fx-bar-fill : -fx-minor-color;
}
.majorChartbar{
-fx-bar-fill : -fx-major-color;
}
.criticalChartBar{
-fx-bar-fill : -fx-critical-color;
}
.undefinedChartBar{
-fx-bar-fill : -fx-undefined-color;
}
我用這個CSS在我的代碼是這樣的:
StackedBarChart barChart = new StackedBarChart(new CategoryAxis(), new NumberAxis());
barChart.setTitle("Title");
vBox.getChildren().add(1,barChart);
barChart.setAnimated(true);
barChart.getData().addAll(barChartData());
barChart.getData().forEach(data ->{
XYChart.Series moduleSerie = (XYChart.Series)data;
moduleSerie.getData().forEach(item ->{
XYChart.Data item2 = (XYChart.Data)item;
item2.getNode().getStyleClass().add(styleLink.get(moduleSerie.getName()));
// styleLink is a map which containt the link from the alarm type (minor, major....) to the CSS style (minorChartbar, majorChartbar, ...)
});
});
我得到儘可能reslut這是這樣一個StackedBarChart:
正如您所看到的,圖表區域和圖例之間的顏色並不相同。 「關鍵」值必須是藍色,「主要」必須是紅色。
這是一個JavaFX錯誤還是隻是我的代碼?
對不起,我只想盡可能完整。
嗨,我有同樣的問題,但th在代碼片段中的兩個答案沒有爲我工作,你能幫忙嗎? –