Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaFX条形图的CSS线性梯度_Java_Css_Javafx_Bar Chart_Linear Gradients - Fatal编程技术网

JavaFX条形图的CSS线性梯度

JavaFX条形图的CSS线性梯度,java,css,javafx,bar-chart,linear-gradients,Java,Css,Javafx,Bar Chart,Linear Gradients,我当前的样式模式是{0},已替换为特定于条形码的颜色代码 "-fx-bar-fill: rgb({0});" + "-fx-background-color: " + "linear (0%,0%) to (0%,100%) " + "stops (0%, derive(-fx-bar-fill,-30%)) " + "(100%, derive(-fx-bar-fill,-40%)), " + "linear (0%,0%) to (0%,100%) " + "stops (0%, der

我当前的样式模式是{0},已替换为特定于条形码的颜色代码

  "-fx-bar-fill: rgb({0});"
+ "-fx-background-color: "
+ "linear (0%,0%) to (0%,100%) "
+ "stops (0%, derive(-fx-bar-fill,-30%)) "
+ "(100%, derive(-fx-bar-fill,-40%)), "
+ "linear (0%,0%) to (0%,100%) "
+ "stops (0%, derive(-fx-bar-fill,80%)) "
+ "(100%, derive(-fx-bar-fill, 0%)), "
+ "linear (0%,0%) to (0%,100%) "
+ "stops (0%, derive(-fx-bar-fill,30%)) "
+ "(100%, derive(-fx-bar-fill,-10%));"
+ "-fx-background-insets: 0,1,2;"
+ "-fx-background-radius: 5 5 0 0, 4 4 0 0, 3 3 0 0;";
这看起来像这样:

问题是,由于不推荐使用线性语法,我得到了一个解析器警告。 我尝试将样式模式重构为线性渐变,而不使用更改结果,但我没有得到它。
有人能解决这个问题吗?

不推荐的版本定义了三种背景。 每个背景都以线性开始。 这些背景像图层一样工作。 所以我唯一要做的就是创建三个背景。 我的第一个解决方案是将背景与背景分开;这会导致解析错误。 背景必须用逗号隔开。 通过使用-fx背景插入缩小绘图区域来创建条形图的边框。 我的最终解决办法是

  "-fx-bar-fill: rgb({0});"
+ "-fx-background-color: "
+ "linear-gradient(from 0% 0% to 0% 100%, " // start bg1
+ "derive(-fx-bar-fill, -30%), derive(-fx-bar-fill, -40%)),"
+ "linear-gradient(from 0% 0% to 0% 100%, " // start bg2
+ "derive(-fx-bar-fill, 80%), derive(-fx-bar-fill, 0%)),"
+ "linear-gradient(from 0% 0% to 0% 100%, " // start bg3
+ "derive(-fx-bar-fill, 30%), derive(-fx-bar-fill, -10%));"
+ "-fx-background-insets: 0,1,2;" // reducing drawing area for each bg
+ "-fx-background-radius: 5 5 0 0, 4 4 0 0, 3 3 0 0;"

我认为以下内容相当于第一个线性渐变:从0%0%到0%100%的线性渐变,衍生fx条填充,-30%0%,衍生fx条填充,-40%100%;。谢谢@Slaw的建议。不幸的是,它不起作用。使用这种语法,我可以为渐变设置一些步骤。最大的问题是,这些步骤只是垂直的。我不知道如何获得横条边界处的水平渐变。我只是用不推荐的语法提供了一个单一的、等效的渐变,这样你就可以比较一些东西来完成转换,尽管事后看来可能是;这令人困惑。我以为你只是在线性渐变语法上有问题,但我知道你有多个背景和不同的插图。如果不是这样,我道歉。不过,我很高兴你能找到解决办法。