我有一个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;
}
答案 0 :(得分:0)
这是由于CSS中的这一行:
@CHARSET "ISO-8859-1";
它不再需要了。