InnerShadow類是JavaFX的一部分。 InnerShadow類創建一個高級效果,該效果使用給定的指定半徑,偏移,阻塞,顏色和模糊類型在對象邊內渲染陰影。 InnerShadow類繼承了Effect類。
該類的構造函數:
- InnerShadow():創建一個新的InnerShadow對象。
- InnerShadow(BlurType blurType, Color color, double radius, double choke, double offsetX, double offsetY):創建一個具有指定blurType,顏色,半徑,阻塞和偏移量的InnerShadow新對象。
- InnerShadow(double r, Color c):使用指定的半徑和顏色創建一個新的InnerShadow對象。
- InnerShadow(double radius, double offsetX, double offsetY, Color color):使用指定的半徑,偏移量和顏色創建一個新的InnerShadow對象。
常用方法:
方法 | 說明 |
---|---|
getBlurType() | 返回效果的模糊類型。 |
setBlurType(BlurType v) | 設置效果的模糊類型。 |
getChoke() | 返回屬性扼流圈的值。 |
setChoke(double d) | 設置屬性扼流圈的值。 |
setColor(Color v) | 設置效果的顏色。 |
getColor() | 返回效果的顏色。 |
setInput(Effect v) | 設置屬性輸入的值。 |
getInput() | 返回屬性輸入的值。 |
setOffsetX(double v) | 設置效果的offsetX的值。 |
setOffsetY(double v) | 設置效果的offsetY的值。 |
getOffsetX() | 設置效果的offsetX值 |
getOffsetY() | 設置效果的offsetY的值。 |
setRadius(double v) | 設置效果的半徑值。 |
getRadius() | 設置效果的半徑值。 |
以下示例程序旨在說明InnerShadow類的用法:
- Java程序創建一個Circle並向其中添加InnerShadow效果:在此程序中,我們將創建一個名為circle的Circle並創建具有指定半徑和顏色的InnerShadow效果Inner_shadow。將使用setEffect()函數將InnerShadow效果添加到圓中,並將該圓添加到組中。使用setTranslateX()和setTranslateY()函數,可以將圓圈轉換到舞台中的特定位置。該組將被添加到場景,該場景將被添加到舞台。
// Java program to create a Circle // and add InnerShadow 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 Inner_shadow_1 extends Application { // launch the application public void start(Stage stage) throws Exception { // set title for the stage stage.setTitle("Inner_shadow example"); // create a circle Circle circle = new Circle(50.0f, 50.0f, 50.0f); // set fill for circle circle.setFill(Color.BLUE); // translate to a position circle.setTranslateX(50.0f); circle.setTranslateY(50.0f); // create a sepia_tone effect InnerShadow sepia_tone = new InnerShadow(10, Color.RED); // set effect circle.setEffect(sepia_tone); // 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); } }
輸出:
- Java程序創建四個Circle,並向其中添加InnerShadow效果,這些效果具有不同的模糊類型和不同的扼流圈,offsetX,offsetY和radius值:在此程序中,我們將創建具有指定半徑,顏色,offsetX,offsetY,offsetY,扼流圈和模糊類型的名為Circles的Circles,circle1,circle2,circle3和名為Inner_shadow1,Inner_shadow2,Inner_shadow3,Inner_shadow4的InnerShadow效果。將使用setEffect()函數將InnerShadow效果添加到圓中,並將這些圓添加到組中。使用setTranslateX()和setTranslateY()函數,可以將圓圈轉換到舞台中的特定位置。該組將被添加到場景,該場景將被添加到舞台。
// Java program to create four Circles and add // InnerShadow effect to it which are of different // blur types and diiferent values of choke, // 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 Inner_shadow_2 extends Application { // launch the application public void start(Stage stage) throws Exception { // set title for the stage stage.setTitle("Inner_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 Inner_shadow effect InnerShadow Inner_shadow1 = new InnerShadow(BlurType.values()[0], Color.BLACK, 5, 3.0f, 2.0f, 2.0f); InnerShadow Inner_shadow2 = new InnerShadow(BlurType.values()[1], Color.BLACK, 5, 3.0f, 3.0f, 3.0f); InnerShadow Inner_shadow3 = new InnerShadow(BlurType.values()[2], Color.BLACK, 5, 4.0f, 3.0f, 3.0f); InnerShadow Inner_shadow4 = new InnerShadow(BlurType.values()[3], Color.BLACK, 5, 4.0f, 2.0f, 2.0f); // set effect circle.setEffect(Inner_shadow1); circle1.setEffect(Inner_shadow2); circle2.setEffect(Inner_shadow3); circle3.setEffect(Inner_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/InnerShadow.html
相關用法
- JavaFX 類 Tab用法及代碼示例
- JavaFX 類 Pos用法及代碼示例
- JavaFX 類 FileChooser用法及代碼示例
- JavaFX 類 TextAlignment用法及代碼示例
- JavaFX 類 DirectoryChooser用法及代碼示例
- JavaFX 類 TextFlow用法及代碼示例
- JavaFX 類 FontWeight用法及代碼示例
- JavaFX 類 ClosePath用法及代碼示例
- JavaFX 類 Popup用法及代碼示例
- JavaFX 類 TitledPane用法及代碼示例
- JavaFX 類 SplitPane用法及代碼示例
- JavaFX 類 LineTo用法及代碼示例
- JavaFX 類 StackPane用法及代碼示例
- JavaFX 類 VLineTo用法及代碼示例
- JavaFX 類 VBox用法及代碼示例
注:本文由純淨天空篩選整理自andrew1234大神的英文原創作品 JavaFX | InnerShadow Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。