我有一个swing应用程序,该应用程序的面板包含几个具有自定义样式的JavaFX AreaCharts(使用javafx.embed.swing.JFXPanel)。我们使用了jre 8u20和jre 8u25,并且一切正常,现在我不得不更新为jre 8u66,而自定义样式不再起作用。
使用绝对文件路径将自定义样式表添加到场景中,如下所示:
scene.getStylesheets().add("file:///F:/_workspace1.8/conf/module/performance/styleServiceGeneral.css");
自定义css文件(已删除第6-13行的样式,它们与第4和5行的样式相同):
@CHARSET "ISO-8859-1";
.default-color0.chart-area-symbol{
-fx-background-color: rgba(255, 255, 0, 0.3), rgba(255, 255, 0, 0);
}
.series0.chart-series-area-line{
-fx-stroke: rgba(255, 255, 255, 0);
}
.series0.chart-series-area-fill{
-fx-fill: rgba(255, 255, 0, 0.2);
}
.default-color1.chart-area-symbol{
-fx-background-color: rgba(255, 255, 0, 0.3), rgba(255, 255, 0, 0);
}
.series1.chart-series-area-line{
-fx-stroke: rgba(255, 255, 255, 0);
}
.series1.chart-series-area-fill{
-fx-fill: rgba(255, 255, 0, 0.2);
}
.default-color2.chart-area-symbol{
-fx-background-color: rgba(255, 0, 0, 0.3), rgba(255, 0, 0, 0);
}
.series2.chart-series-area-line{
-fx-stroke: rgba(255, 255, 255, 0);
}
.series2.chart-series-area-fill{
-fx-fill: rgba(255, 0, 0, 0.2);
}
.default-color3.chart-area-symbol{
-fx-background-color: rgba(255, 0, 0, 0.3), rgba(255, 0, 0, 0);
}
.series3.chart-series-area-line{
-fx-stroke: rgba(255, 255, 255, 0);
}
.series3.chart-series-area-fill{
-fx-fill: rgba(255, 0, 0, 0.2);
}
/* black */
.chart-area-symbol.series4 {
-fx-background-color: rgba(0, 0, 0, 1), rgba(255, 255, 255, 1);
}
.chart-series-area-line.series4 {
-fx-stroke: rgba(0, 0, 0, 1);
}
.chart-series-area-fill.series4 {
-fx-fill: rgba(0, 255, 0, 0);
}
/* green */
.chart-area-symbol.series5 {
-fx-background-color: rgba(51, 255, 0, 1), rgba(255, 255, 255, 1);
}
.chart-series-area-line.series5 {
-fx-stroke: rgba(51, 255, 0, 1);
}
.chart-series-area-fill.series5 {
-fx-fill: rgba(51, 255, 0, 0);
}
.tooltip {
-fx-background-color: #FFC800;
-fx-text-stroke: #000000;
-fx-text-fill: #000000;
}
最佳答案
这是由于CSS中的这一行:
@CHARSET "ISO-8859-1";
它不再需要了。