如何在javafx中使用css设置径向渐变

时间:2016-05-04 11:39:48

标签: javafx-2

我有一个标签。尝试在我的CSS中为这个标签设置径向渐变。 我怎么能这样做? 如果我设置-fx-background-color:径向渐变(中心50%50%,半径50%,rgb(104,163,193)0%,rgb(23,56,99)100%); - 我收到错误"参数不匹配" 谢谢你的帮助!

1 个答案:

答案 0 :(得分:5)

设置形状的渐变

这是我从很久以前写过的小clock widget中提取的一个例子:

-fx-fill: radial-gradient(radius 180%, burlywood, derive(burlywood, -30%), derive(burlywood, 30%));

渐变显示为时钟中心正下方的圆形阴影。

enter image description here

设置标签的渐变

当您使用标签时,用于对标签文本进行着色的相应css属性对于前景文本为-fx-text-fill,对于文本背景为-fx-background-color

以下是将-fx-text-fill-fx-background-color样式应用于标签的示例。用于背景的径向渐变是用于钟面的径向渐变。

xyzzy

Label label = new Label("xyzzy");
label.setStyle("-fx-background-color: radial-gradient(radius 180%, burlywood, derive(burlywood, -30%), derive(burlywood, 30%)); -fx-text-fill: white;");

用于渐变的实际参数取决于您的应用

当然,径向渐变的配置会根据您想要绘制的渐变而变化。通过css指定径向渐变的表达式构造语法的文档包含在JavaFX 8 CSS reference guide中。