JavaFX CSS警告:CSS错误解析文件:...:预期LBRACE at

时间:2015-03-10 20:52:41

标签: java css javafx

我最近问了一个关于在JavaFX LineChart上添加两条垂直线的问题,现在我遇到了将一些样式内容应用到图中的问题。我认为这是一个新问题,所以我开了一个新帖子。

Add Two Vertical Lines to LineChart

我的问题:如何更改系列的不同颜色?我也想将背景改为白色。

以下是我创建的图表(它扩展了LineChart):

LineChartWithMarkers<Number, Number> chart = new LineChartWithMarkers<Number, Number>(xAxis, yAxis, dataset);

xAxis.setLabel("time(s)");
yAxis.setLabel("deg/s");

chart.setStyle(".chart-series-line { -fx-stroke-width: 2px; -fx-effect: null; ");
chart.setStyle(".default-color0.chart-series-line { -fx-stroke: blue; }");
chart.setStyle(".default-color1.chart-series-line { -fx-stroke: red; }");
chart.setStyle(".default-color0.chart-line-symbol { -fx-stroke: blue, blue; }");
chart.setStyle(".default-color1.chart-line-symbol { -fx-stroke: red, red; }");
chart.setStyle(".chart-legend { -fx-background-color: transparent; }");

由于某些原因,这些代码不适用于图表。所以我尝试使用CSS文件。

以下是CSS文件:

@CHARSET "ISO-8859-1";

.chart-series-line {
-fx-stroke-width: 1px;
-fx-effect: null;}

.default-color0.chart-series-line { -fx-stroke: blue; }
.default-color1.chart-series-line { -fx-stroke: red; }

.default-color0.chart-line-symbol { -fx-background-color: blue, blue; }
.default-color1.chart-line-symbol { -fx-background-color: red, red; }

.chart-legend {
-fx-background-color: transparent;
-fx-font-size: 0.75em;}

.chart-legend-item-symbol{
-fx-background-radius: 2;}

.chart-plot-background {
-fx-background-color: transparent;}

我尝试关注Using JavaFX Charts: Styling Charts with CSS,但我在控制台中收到错误“警告:CSS错误解析文件:...:[1,9]预期LBRACE”

我今天刚从JDK 7切换到JDK 8,所以我不确定它是否与此有关...

感谢您的帮助!

1 个答案:

答案 0 :(得分:12)

@charset不支持JavaFX CSS规则,{{3}}只是完整W3C CSS的子集。尝试删除它。

  

@ Rules

     

从JavaFX 8u20开始,CSS @import也是部分的   支持的。仅支持无条件导入。换句话说,   不支持media-type限定符。此外,JavaFX CSS解析器是   不符合@import可能出现在a中的位置   样式表(参见At-rules)。提醒用户,这将得到修复   在将来的版本中。坚持遵守W3C标准   宜。