La clase InnerShadow es parte de JavaFX. La clase InnerShadow crea un efecto de alto nivel que representa una sombra dentro de los bordes del objeto con un radio, desplazamiento, estrangulamiento, color y tipo de desenfoque especificados. La clase InnerShadow hereda la clase Effect.
Constructores de la clase:
- InnerShadow() : Crea un nuevo Objeto de InnerShadow.
- InnerShadow(BlurType blurType, Color color, double radius, double choke, double offsetX, double offsetY) : crea un nuevo objeto de InnerShadow con un tipo de desenfoque, color, radio, estrangulamiento y desplazamiento especificados.
- InnerShadow (doble r, Color c) : crea un nuevo objeto de InnerShadow con radio y color especificados.
- InnerShadow (doble radio, doble desplazamiento X, doble desplazamiento Y, Color color) : crea un nuevo objeto de InnerShadow con radio, desplazamiento y color especificados.
Métodos comúnmente utilizados:
Método | Explicación |
---|---|
getBlurType() | Devuelve el tipo de desenfoque del efecto. |
establecer Tipo de desenfoque (Tipo de desenfoque v) | Establece el tipo de desenfoque del efecto. |
obtenerAhogar() | Devuelve el valor de la propiedad choke. |
setChoke(doble d) | Establece el valor de la propiedad choke. |
establecerColor(Color v) | Establece el color del efecto. |
obtenerColor() | Devuelve el color del efecto. |
setInput(Efecto v) | Establece el valor de la propiedad de entrada. |
obtenerEntrada() | Devuelve el valor de la entrada de propiedad. |
setOffsetX(doble v) | Establece el valor de offsetX del efecto. |
setOffsetY(doble v) | Establece el valor de offsetY del efecto. |
obtenerDesplazamientoX() | Establece el valor de offsetX del efecto |
getOffsetY() | Establece el valor de offsetY del efecto. |
establecerRadio(doble v) | Establece el valor del radio del efecto. |
obtenerRadio() | Establece el valor del radio del efecto. |
Los siguientes programas ilustran el uso de la clase InnerShadow:
- Programa Java para crear un círculo y agregarle el efecto InnerShadow: en este programa crearemos un círculo llamado circle y crearemos un efecto InnerShadow Inner_shadow con un radio y un color especificados. El efecto InnerShadow se agregará al círculo usando la función setEffect() y el círculo se agregará al grupo. Los círculos se trasladarán a una posición específica en el escenario usando las funciones setTranslateX() y setTranslateY() . El grupo se agregará a la escena y la escena se agregará al escenario.
Java
// 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); } }
Producción:
- Programa Java para crear cuatro círculos y agregarle el efecto InnerShadow que son de diferentes tipos de desenfoque y diferentes valores de estrangulador, offsetX, offsetY y radio: En este programa crearemos los círculos llamados circle , circle1 , circle2 , circle3 y los efectos InnerShadow denominado Inner_shadow1 , Inner_shadow2 , Inner_shadow3 , Inner_shadow4 con radio, color, offsetX, offsetY, estrangulamiento y tipo de desenfoque especificados. El efecto InnerShadow se agregará al círculo usando setEffect()función y los círculos se añadirán al grupo. Los círculos se trasladarán a una posición específica en el escenario usando las funciones setTranslateX() y setTranslateY() . El grupo se agregará a la escena y la escena se agregará al escenario.
Java
// Java program to create four Circles and add // InnerShadow effect to it which are of different // blur types and different 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); } }
Producción:
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.
Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/InnerShadow.html
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA