📅  最后修改于: 2023-12-03 15:16:03.850000             🧑  作者: Mango
JavaFX 是一种用于构建富互联网应用程序(RIA)的框架,具有丰富的多媒体支持。在 JavaFX 中,颜色用于呈现界面元素,包括文字、形状、背景等等。
JavaFX 提供了一个 javafx.scene.paint.Color
类来代表颜色。这个类包含了四个十六进制数值,分别表示红、绿、蓝和透明度。这四个数值的范围均为 0 到 1。
Color color = Color.rgb(255, 0, 0); // 红色
Color color = Color.rgb(0, 255, 0); // 绿色
Color color = Color.rgb(0, 0, 255); // 蓝色
我们可以使用以下方法来创建一个颜色实例:
Color color = Color.rgb(red, green, blue); // 使用 RGB 值来创建
Color color = Color.web("#FFFFFF"); // 使用十六进制表示法创建
Color color1 = Color.web("#FFFFFF", alpha); // 使用带透明度的十六进制值创建
其中,Color.web()
方法使用十六进制表示法来创建颜色实例,第二个参数可以指定透明度。
JavaFX 定义了一些常用的颜色,可以直接使用它们而不必手动创建颜色实例。这些颜色定义在 javafx.scene.paint.Color
类中,以静态成员变量的形式出现,它们的名字就是颜色名,比如 Color.RED
、Color.BLUE
、Color.GREEN
等等。
以下是 JavaFX 中的一些预定义颜色:
Color.RED
Color.GREEN
Color.BLUE
Color.YELLOW
Color.ORANGE
Color.PURPLE
Color.BROWN
Color.BEIGE
Color.PINK
Color.BLACK
Color.WHITE
Color.GRAY
Color.LIGHTGRAY
Color.DARKGRAY
在 JavaFX 中,我们可以为形状设置填充和笔划。
在 javafx.scene.shape.Shape
类中,提供了 fill
属性来设置填充颜色。我们可以将一个 Color
对象赋值给该属性来设置填充颜色。
Shape shape = new Rectangle(50, 50);
shape.setFill(Color.RED); // 将形状颜色设置为红色
在 javafx.scene.shape.Shape
类中,提供了 stroke
属性来设置笔划颜色。我们可以将一个 Color
对象赋值给该属性来设置笔划颜色。同时,还可以使用 strokeWidth
属性来设置笔划宽度。
Shape shape = new Rectangle(50, 50);
shape.setStroke(Color.BLACK); // 将笔划颜色设置为黑色
shape.setStrokeWidth(2); // 将笔划宽度设置为 2
JavaFX 还支持渐变填充,使用 javafx.scene.paint.LinearGradient
或 javafx.scene.paint.RadialGradient
类来实现。这两个类都是 javafx.scene.paint.Paint
的子类,所以可以直接用于填充和笔划中。
LinearGradient linearGradient = new LinearGradient(0, 0, 1, 0, true, CycleMethod.NO_CYCLE,
new Stop(0, Color.WHITE),
new Stop(0.25, Color.RED),
new Stop(0.5, Color.YELLOW),
new Stop(0.75, Color.GREEN),
new Stop(1, Color.BLUE));
Shape shape = new Rectangle(50, 50);
shape.setFill(linearGradient); // 将矩形填充为渐变
以上代码会创建一个从左到右渐变的渐变填充。
JavaFX 的颜色类提供了方便的颜色创建和管理功能,让我们可以轻松地在 JavaFX 程序中使用颜色。同时,JavaFX 还支持填充和笔划的颜色设置,包括渐变颜色填充。