我有一个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";


它不再需要了。

09-04 06:26
查看更多