當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。