我有一个 JavaFX 应用程序,我希望用户能够在 lineChart 中控制符号、线条样式等。我不想创建多个样式表,而是想将此功能构建到 Java 代码中。感谢Jewelsea之前发布的优秀示例,我可以动态更改线条样式,太棒了!但我无法更改默认符号样式。
我不清楚在对 node.setStyle 的调用中可以逐字内联使用多少 .css 语句。即,我看到'-fx-*' 命令在Java 代码中工作。但是 .css 文件中的符号是用不同的语法定义的,仅仅将 css 行插入到我的 Java 代码中是行不通的。
这是我的代码中的一个示例:
StringBuilder styleString = new StringBuilder();
// do some stylin'
switch (getLineStyle.getValue().toString()) {
case "Line and points":
styleString.append("-fx-stroke: blue; -fx-stroke-width: 2; ");
styleString.append(
".chart-symbol {-fx-background-color: blue; -fx-background-radius: 3px;}");
engChart.setCreateSymbols(true);
break;
case "Line only":
styleString.append("-fx-stroke: blue; -fx-stroke-width: 2; ");
engChart.setCreateSymbols(false);
break;
在“线和点”的情况下,我可以使用此代码控制颜色和宽度,但控制符号的尝试失败了。我从这里获取了语法:
http://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html#introscenegraph
如果有更好的参考来执行这种内联控制,我会很高兴知道它是什么。
谁能告诉我如何正确地操作符号,内联?谢谢。