📜  JavaFX 渐变色(1)

📅  最后修改于: 2023-12-03 15:01:36.366000             🧑  作者: Mango

JavaFX 渐变色

什么是渐变色?

渐变色是一种由一种颜色逐渐过渡到另一种颜色的色彩效果,可以使图形更加生动、丰富。

在JavaFX中如何实现渐变色?

在JavaFX中,渐变色是通过Gradient类来实现的。Gradient类有两个子类:LinearGradient和RadialGradient。

LinearGradient

LinearGradient是线性渐变色,它会在一条直线上从起始颜色渐变到终止颜色。

LinearGradient linearGradient = new LinearGradient(0, 0, 1, 1, true, CycleMethod.NO_CYCLE,
        new Stop(0, Color.RED), new Stop(1, Color.BLUE));

上面的代码创建了一个从左上角到右下角的红蓝渐变色。其中,(0,0)表示起始点坐标,(1,1)表示终止点坐标。true表示该渐变色要与渐变线垂直,NO_CYCLE表示渐变方式为不重复。new Stop(0, Color.RED)表示在0%处颜色为红色,new Stop(1, Color.BLUE)表示在100%处颜色为蓝色。

RadialGradient

RadialGradient是径向渐变色,它会以一个点为中心,向外辐射形成渐变色。

RadialGradient radialGradient = new RadialGradient(0, 0, 0.5, 0.5, 0.5, true, CycleMethod.NO_CYCLE,
        new Stop(0, Color.YELLOW), new Stop(1, Color.GREEN));

上面的代码创建了一个从黄色到绿色的径向渐变色。其中,(0,0)表示中心点坐标,0.5表示半径长度的一半,true表示该渐变色要与中心点垂直,NO_CYCLE表示渐变方式为不重复。

应用渐变色

通过使用上面两个子类创建好的渐变色实例,可以将它们应用到JavaFX图形界面上。

Rectangle rectangle1 = new Rectangle(0, 0, 100, 100);
rectangle1.setFill(linearGradient);

Circle circle1 = new Circle(100, 100, 50);
circle1.setFill(radialGradient);

上面的代码创建了一个红蓝渐变的矩形和一个黄绿渐变的圆形,然后将它们的填充颜色分别设置为先前创建好的渐变色。这样就可以将渐变色应用到JavaFX图形界面上了。

总结

JavaFX提供了Gradient类来实现渐变色效果,其中,LinearGradient和RadialGradient是Gradient类的两个子类。通过使用这两个子类可以创建不同类型的渐变色,并将它们应用到JavaFX图形界面上。