JavaFX | Clase DropShadow

La clase DropShadow es parte de JavaFX. La clase DropShadow crea un efecto de alto nivel que representa la sombra de un objeto detrás del contenido con el radio, la extensión, el tipo de desenfoque y el desplazamiento especificados. La clase DropShadow hereda la clase Effect .

Constructores de la clase:

  1. DropShadow() : Crea un nuevo objeto de DropShadow.
  2. DropShadow(BlurType blurType, Color color, double radius, double spread, double offsetX, double offsetY) : Crea un nuevo objeto de DropShadow con valores especificados blurType, radius, spread, offsetX, offsetY.
  3. DropShadow (doble radio, color de color) : crea un nuevo objeto de DropShadow con un valor especificado de radio y color.
  4. DropShadow (doble radio, doble desplazamiento X, doble desplazamiento Y, Color color) : crea un nuevo objeto de DropShadow con un valor especificado de radio, desplazamiento X, desplazamiento Y y color.

Métodos comúnmente utilizados:

Método Explicación
getBlurType() Devuelve el tipo de desenfoque del efecto.
obtenerColor() Devuelve el color del efecto.
obtenerEntrada() Devuelve el valor de la entrada de propiedad.
obtenerRadio() Devuelve el radio del efecto dropShadow.
establecer Tipo de desenfoque (Tipo de desenfoque v) Establece el tipo de desenfoque del efecto dropShadow.
establecerColor(Color v) Establece el Color del efecto DropShadow.
setInput(Efecto v) Establece el valor de la propiedad de entrada.
establecerRadio(doble v) Establece el Radio del efecto de sombra paralela.
setOffsetX(doble v) Establece el valor de offsetX.
setOffsetY(doble v) Establece el valor de offsetY.
obtenerDesplazamientoX() Devuelve el valor de offsetX.
getOffsetY() Devuelve el valor de offsetY.
obtenerSpread() Devuelve el valor de la dispersión del efecto Sombra paralela.
setSpread(doble v) Establece el valor de la dispersión del efecto Sombra paralela.

Los siguientes programas ilustran el uso de la clase DropShadow:

  1. Programa Java para crear un círculo y agregarle el efecto DropShadow: en este programa crearemos un círculo llamado círculo y crearemos un efecto DropShadow drop_shadow con radio y color especificados. El efecto DropShadow 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 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);
        }
    }

    Producción:

  2. Programa Java para crear cuatro círculos y agregarle el efecto DropShadow, que son de diferentes tipos de desenfoque y diferentes valores de offsetX, offsetY y radio: En este programa crearemos círculos llamados circle , circle1 , circle2 , circle3 y crearemos efectos de DropShadow llamados drop_shadow1 , drop_shadow2 , drop_shadow3 , drop_shadow4 con radio, color, offsetX, offsetY, extensión y tipo de desenfoque especificados. El efecto DropShadow se agregará al círculo usando la función setEffect() y los círculos se agregarán al grupo. Los círculos se trasladarán a una posición específica en el escenario usandofunción setTranslateX() y setTranslateY() . El grupo se agregará a la escena y la escena se agregará al escenario.

    // 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);
        }
    }

    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/DropShadow.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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *