JavaFX |影子类

Shadow类是JavaFX的一部分。Shadow类创建边缘模糊的单色阴影。阴影为黑色(默认情况下),可以与原始阴影组合以创建阴影。可以将不同颜色的阴影添加到“原始”中,以创建辉光效果。阴影类继承效果类。

null

类的构造函数:

  1. 影子() :创建一个新的阴影对象。
  2. 阴影(t型,c色,双r) :创建具有指定模糊类型、颜色和半径的新阴影对象。
  3. 阴影(双r,c色) :创建具有半径和颜色的新阴影对象。

常用方法:

方法 解释
getBlurType() 返回效果的模糊类型。
getColor() 返回效果的颜色。
getInput() 返回属性输入的值。
getRadius() 返回阴影效果的半径。
B型(v型) 设置阴影效果的模糊类型。
设置颜色(颜色v) 设置阴影效果的颜色。
设置输入(效果v) 设置属性输入的值。
设置半径(双v) 设置阴影效果的半径。

下面的程序演示了Shadow类的使用:

  1. Java程序创建一个圆并向其添加阴影效果: 在这个程序中,我们将创建一个名为 圆圈 创造一个 阴影效果阴影 具有指定的半径和颜色。阴影效果将使用 setEffect() 函数和圆圈将被添加到组中。这些圆圈将被转换到舞台上的特定位置 setTranslateX() setTranslateY() 作用团队将被添加到场景中,场景将被添加到舞台中。

    // Java program to create a Circle
    // and add Shadow effect to it
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.scene.image.*;
    import javafx.scene.effect.*;
    import java.io.*;
    import javafx.scene.shape.Circle;
    import javafx.scene.paint.Color;
    import javafx.scene.Group;
    public class shadow_1 extends Application {
    // launch the application
    public void start(Stage stage) throws Exception
    {
    // set title for the stage
    stage.setTitle( "shadow example" );
    // create a circle
    Circle circle = new Circle( 50 .0f, 50 .0f, 25 .0f);
    // translate to a position
    circle.setTranslateX( 50 .0f);
    circle.setTranslateY( 50 .0f);
    // create a shadow effect
    Shadow shadow = new Shadow( 10 , Color.RED);
    // set effect
    circle.setEffect(shadow);
    // create a Group
    Group group = new Group(circle);
    // create a scene
    Scene scene = new Scene(group, 200 , 200 );
    // set the scene
    stage.setScene(scene);
    stage.show();
    }
    // Main Method
    public static void main(String args[])
    {
    // launch the application
    launch(args);
    }
    }

    
    

    输出:

    图片[1]-JavaFX |影子类-yiteyi-C++库

  2. Java程序创建四个圆并添加阴影效果(不同类型): 在这个程序中,我们将创建一个名为 圆圈 , 圆圈1 , 圆圈2 , 圆圈3 并创建一个名为 阴影1 , 阴影2 , 阴影3 , 阴影4 具有指定的半径、颜色和模糊类型。阴影效果将使用setEffect()函数添加到圆中,圆将添加到组中。这些圆圈将被转换到舞台上的特定位置 setTranslateX() setTranslateY() 作用团队将被添加到场景中,场景将被添加到舞台中。

    // Java program to create four Circles and add Shadow
    // effect to it which are of different BlurType
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.scene.image.*;
    import javafx.scene.effect.*;
    import java.io.*;
    import javafx.scene.shape.Circle;
    import javafx.scene.paint.Color;
    import javafx.scene.Group;
    public class shadow_2 extends Application {
    // launch the application
    public void start(Stage stage) throws Exception
    {
    // set title for the stage
    stage.setTitle( "shadow example" );
    // create a circle
    Circle circle = new Circle( 0 .0f, 0 .0f, 25 .0f);
    Circle circle1 = new Circle( 0 .0f, 0 .0f, 25 .0f);
    Circle circle2 = new Circle( 0 .0f, 0 .0f, 25 .0f);
    Circle circle3 = new Circle( 0 .0f, 0 .0f, 25 .0f);
    // translate to a position
    circle.setTranslateX( 50 .0f);
    circle.setTranslateY( 50 .0f);
    // translate to a position
    circle1.setTranslateX( 150 .0f);
    circle1.setTranslateY( 50 .0f);
    // translate to a position
    circle2.setTranslateX( 50 .0f);
    circle2.setTranslateY( 150 .0f);
    // translate to a position
    circle3.setTranslateX( 150 .0f);
    circle3.setTranslateY( 150 .0f);
    // create shadow effect
    Shadow shadow1 = new Shadow(BlurType.values()[ 0 ], Color.BLUE, 10 );
    Shadow shadow2 = new Shadow(BlurType.values()[ 1 ], Color.BLUE, 10 );
    Shadow shadow3 = new Shadow(BlurType.values()[ 2 ], Color.BLUE, 10 );
    Shadow shadow4 = new Shadow(BlurType.values()[ 3 ], Color.BLUE, 10 );
    // set effect
    circle.setEffect(shadow1);
    circle1.setEffect(shadow2);
    circle2.setEffect(shadow3);
    circle3.setEffect(shadow4);
    // create a Group
    Group group = new Group(circle, circle1, circle2, circle3);
    // create a scene
    Scene scene = new Scene(group, 200 , 200 );
    // set the scene
    stage.setScene(scene);
    stage.show();
    }
    // Main Method
    public static void main(String args[])
    {
    // launch the application
    launch(args);
    }
    }

    
    

    输出: 图片[2]-JavaFX |影子类-yiteyi-C++库

注: 上述程序可能无法在联机IDE中运行。请使用脱机编译器。

参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/Shadow.html

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享