当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaFX 类 DropShadow用法及代码示例


DropShadow类是JavaFX的一部分。 DropShadow类创建一个高级效果,该效果以指定的半径,散布,模糊类型和偏移量渲染内容后面的对象阴影。 DropShadow类继承了Effect类。

该类的构造函数:

  1. DropShadow():创建一个新的DropShadow对象。
  2. DropShadow(BlurType blurType, Color color, double radius, double spread, double offsetX, double offsetY):使用指定的值blurType,radius,spread,offsetX,offsetY创建DropShadow的新对象。
  3. DropShadow(double radius, Color color):创建一个具有指定半径和颜色值的DropShadow新对象。
  4. DropShadow(double radius, double offsetX, double offsetY, Color color):使用指定的半径,offsetX,offsetY和color值创建DropShadow的新对象。

常用方法:


方法 说明
getBlurType() 返回效果的模糊类型。
getColor() 返回效果的颜色。
getInput() 返回属性输入的值。
getRadius() 返回dropShadow效果的半径。
setBlurType(BlurType v) 设置dropShadow效果的模糊类型。
setColor(Color v) 设置dropShadow效果的颜色。
setInput(Effect v) 设置属性输入的值。
setRadius(double v) 设置阴影效果的半径。
setOffsetX(double v) 设置offsetX的值。
setOffsetY(double v) 设置offsetY的值。
getOffsetX() 返回offsetX的值。
getOffsetY() 返回offsetY的值。
getSpread() 返回阴影效果散布的值。
setSpread(double v) 设置下拉阴影效果的扩散值。

以下示例程序旨在说明DropShadow类的用法:

  1. Java程序创建一个Circle并向其中添加DropShadow效果:在此程序中,我们将创建一个名为circle的Circle,并使用指定的半径和颜色创建一个DropShadow效果drop_shadow。将使用setEffect()函数将DropShadow效果添加到圆中,并将该圆添加到组中。使用setTranslateX()和setTranslateY()函数,可以将圆圈转换到舞台中的特定位置。该组将被添加到场景,该场景将被添加到舞台。
    // Java program to create a Circle and 
    // add DropShadow 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 drop_shadow_1 extends Application { 
      
        // launch the application 
        public void start(Stage stage) throws Exception 
        { 
      
            // set title for the stage 
            stage.setTitle("drop_shadow example"); 
      
            // create a circle 
            Circle circle = new Circle(50.0f, 50.0f, 25.0f); 
      
            // set fill for circle 
            circle.setFill(Color.BLUE); 
      
            // translate to a position 
            circle.setTranslateX(50.0f); 
            circle.setTranslateY(50.0f); 
      
            // create a drop_shadow effect 
            DropShadow drop_shadow = new DropShadow(10, Color.RED); 
      
            // set effect 
            circle.setEffect(drop_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); 
        } 
    }

    输出:

  2. Java程序创建四个Circles并为其添加DropShadow效果,它们具有不同的模糊类型以及不同的offsetX,offsetY和radius值:在此程序中,我们将创建名为circle,circle1,circle2,circle3的Circles,并创建一个名为drop_shadow1,drop_shadow2,drop_shadow3,drop_shadow4的DropShadow效果,并具有指定的半径,颜色,offsetX,offsetY,色散和模糊类型。将使用setEffect()函数将DropShadow效果添加到圆中,并将这些圆添加到组中。使用setTranslateX()和setTranslateY()函数,可以将圆圈转换到舞台中的特定位置。该组将被添加到场景,该场景将被添加到舞台。
    // Java program to create four Circles and  
    // add DropShadow effect to it which are of 
    // different blur types and different values  
    // of offsetX, offsetY and radius 
    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 drop_shadow_2 extends Application { 
      
        // launch the application 
        public void start(Stage stage) throws Exception 
        { 
      
            // set title for the stage 
            stage.setTitle("drop_shadow example"); 
      
            // create a circle 
            Circle circle = new Circle(0.0f, 0.0f, 25.0f, Color.RED); 
            Circle circle1 = new Circle(0.0f, 0.0f, 25.0f, Color.RED); 
            Circle circle2 = new Circle(0.0f, 0.0f, 25.0f, Color.RED); 
            Circle circle3 = new Circle(0.0f, 0.0f, 25.0f, Color.RED); 
      
            // 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 drop_shadow effect 
            DropShadow drop_shadow1 = new DropShadow(BlurType.values()[0],  
                                         Color.BLUE, 5, 3.0f, 2.0f, 2.0f); 
      
            DropShadow drop_shadow2 = new DropShadow(BlurType.values()[1],  
                                         Color.BLUE, 5, 3.0f, 3.0f, 3.0f); 
      
            DropShadow drop_shadow3 = new DropShadow(BlurType.values()[2],  
                                         Color.BLUE, 5, 4.0f, 3.0f, 3.0f); 
      
            DropShadow drop_shadow4 = new DropShadow(BlurType.values()[3],  
                                         Color.BLUE, 5, 4.0f, 2.0f, 2.0f); 
      
            // set effect 
            circle.setEffect(drop_shadow1); 
            circle1.setEffect(drop_shadow2); 
            circle2.setEffect(drop_shadow3); 
            circle3.setEffect(drop_shadow4); 
      
            // create a Group 
            Group group = new Group(circle, circle1, circle2, circle3); 
      
            // create a scene 
            Scene scene = new Scene(group, 400, 400); 
      
            // set the scene 
            stage.setScene(scene); 
      
            stage.show(); 
        } 
      
        // Main Method 
        public static void main(String args[]) 
        { 
      
            // launch the application 
            launch(args); 
        } 
    }

    输出:

注意:以上程序可能无法在在线IDE中运行。请使用离线编译器。

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



相关用法


注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 JavaFX | DropShadow Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。