JavaFX 效果 - 外阴影

  • 简述

    将此效果应用于节点时,将在指定节点后面创建阴影。
    类名为 DropShadow 包裹的 javafx.scene.effect表示阴影效果。这个类包含九个属性,它们是 -
    • color - 该属性是代表阴影颜色的颜色类型。
    • blur type − 此属性属于 − BlurType 类型,它表示用于模糊阴影的模糊效果的类型。
    • radius − 此属性为 double 类型,表示阴影模糊内核的半径。
    • width − 此属性为 double 类型,表示阴影模糊内核的宽度。
    • height − 此属性为 double 类型,表示阴影模糊内核的高度。
    • input − 此属性属于 Effect 类型,它表示阴影效果的输入。
    • spread- 该属性是双精度类型;它代表了阴影的蔓延。
    • offsetX − 此属性为 double 类型,表示 x 方向的阴影偏移(以像素为单位)。
    • offset − 此属性属于 double 类型,表示 y 方向的阴影偏移(以像素为单位)。
  • 例子

    下面的程序是一个示例,演示了 JavaFX 的投影效果。在这里,我们在场景中绘制了一个文本“Welcome to Tutorialspoint”和一个圆圈。
    对于这些,我们正在应用阴影效果。将此代码保存在名称为的文件中DropShadowEffectExample.java.
    
    import javafx.application.Application; 
    import javafx.scene.Group; 
    import javafx.scene.Scene; 
    import javafx.scene.effect.BlurType; 
    import javafx.scene.effect.DropShadow; 
    import javafx.scene.paint.Color; 
    import javafx.scene.shape.Circle; 
    import javafx.stage.Stage; 
    import javafx.scene.text.Font; 
    import javafx.scene.text.FontWeight; 
    import javafx.scene.text.Text; 
             
    public class DropShadowEffectExample extends Application {
       @Override 
       public void start(Stage stage) {       
          //Creating a Text object 
          Text text = new Text();        
          
          //Setting font to the text 
          text.setFont(Font.font(null, FontWeight.BOLD, 40));        
          
          //setting the position of the text 
          text.setX(60); 
          text.setY(50);  
          
          //Setting the text to be embedded.  
          text.setText("Welcome to Tutorialspoint");        
          
          //Setting the color of the text 
          text.setFill(Color.DARKSEAGREEN);       
           
          //Drawing a Circle 
          Circle circle = new Circle();         
          
          //Setting the centre of the circle 
          circle.setCenterX(300.0f); 
          circle.setCenterY(160.0f); 
          
          //Setting the radius of the circle 
          circle.setRadius(100.0f); 
           
          //Instantiating the Shadow class 
          DropShadow dropShadow = new DropShadow(); 
          
          //setting the type of blur for the shadow 
          dropShadow.setBlurType(BlurType.GAUSSIAN); 
          
          //Setting color for the shadow 
          dropShadow.setColor(Color.ROSYBROWN); 
          
          //Setting the height of the shadow
          dropShadow.setHeight(5); 
          
          //Setting the width of the shadow 
          dropShadow.setWidth(5); 
          
          //Setting the radius of the shadow 
          dropShadow.setRadius(5); 
          
          //setting the offset of the shadow 
          dropShadow.setOffsetX(3); 
          dropShadow.setOffsetY(2); 
          
          //Setting the spread of the shadow 
          dropShadow.setSpread(12);  
          
          //Applying shadow effect to the text 
          text.setEffect(dropShadow);      
          
          //Applying shadow effect to the circle 
          circle.setEffect(dropShadow); 
              
          //Creating a Group object   
          Group root = new Group(circle, text);   
                   
          //Creating a scene object 
          Scene scene = new Scene(root, 600, 300);  
          
          //Setting title to the Stage 
          stage.setTitle("Drop Shadow effect example"); 
             
          //Adding scene to the stage 
          stage.setScene(scene); 
             
          //Displaying the contents of the stage 
          stage.show();         
       } 
       public static void main(String args[]){ 
          launch(args);
       } 
    }       
    
    使用以下命令从命令提示符编译并执行保存的 java 文件。
    
    javac DropShadowEffectExample.java 
    java DropShadowEffectExample