JavaFX | Clase de sombra – Part 1

La clase Shadow es parte de JavaFX. La clase Shadow crea una sombra monocromática con bordes borrosos. La Sombra es de Color negro (por defecto) y se puede combinar con la original para crear una sombra. La Sombra de diferentes colores se puede agregar con el original para crear un efecto de Resplandor. La clase Shadow hereda la clase Effect.

Constructores de la clase:

  1. Shadow() : Crea un nuevo objeto Shadow.
  2. Shadow(BlurType t, Color c, double r) : crea un nuevo objeto de sombra con el tipo de desenfoque, el color y el radio especificados.
  3. Sombra (doble r, Color c) : crea un nuevo objeto de sombra con radio 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 Sombra.
establecer Tipo de desenfoque (Tipo de desenfoque v) Establece el tipo de desenfoque del efecto Sombra.
establecerColor(Color v) Establece el efecto Color de la sombra.
setInput(Efecto v) Establece el valor de la propiedad de entrada.
establecerRadio(doble v) Establece el Radio del efecto de sombra.

Los siguientes programas ilustran el uso de la clase Shadow:

  1. Programa Java para crear un círculo y agregarle un efecto de sombra: en este programa crearemos un círculo llamado círculo y crearemos una sombra con efecto de sombra con un radio y color especificados. El efecto de sombra 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 Shadow 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 shadow_1 extends Application {
      
        // launch the application
        public void start(Stage stage) throws Exception
        {
      
            // set title for the stage
            stage.setTitle("shadow example");
      
            // create a circle
            Circle circle = new Circle(50.0f, 50.0f, 25.0f);
      
            // translate to a position
            circle.setTranslateX(50.0f);
            circle.setTranslateY(50.0f);
      
            // create a shadow effect
            Shadow shadow = new Shadow(10, Color.RED);
      
            // set effect
            circle.setEffect(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 un efecto de sombra (de diferente tipo de desenfoque): en este programa crearemos un círculo llamado círculo , círculo1 , círculo2 , círculo3 y crearemos efectos de sombra llamados sombra1 , sombra2 , sombra3 , sombra4 con radio especificado , color y tipo de desenfoque. El efecto de sombra 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 usando setTranslateX() y setTranslateY()función. El grupo se agregará a la escena y la escena se agregará al escenario.

    // Java program to create four Circles and add Shadow
    // effect to it which are of different BlurType
    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 shadow_2 extends Application {
      
        // launch the application
        public void start(Stage stage) throws Exception
        {
      
            // set title for the stage
            stage.setTitle("shadow example");
      
            // create a circle
            Circle circle = new Circle(0.0f, 0.0f, 25.0f);
            Circle circle1 = new Circle(0.0f, 0.0f, 25.0f);
            Circle circle2 = new Circle(0.0f, 0.0f, 25.0f);
            Circle circle3 = new Circle(0.0f, 0.0f, 25.0f);
      
            // 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 shadow effect
            Shadow shadow1 = new Shadow(BlurType.values()[0], Color.BLUE, 10);
            Shadow shadow2 = new Shadow(BlurType.values()[1], Color.BLUE, 10);
            Shadow shadow3 = new Shadow(BlurType.values()[2], Color.BLUE, 10);
            Shadow shadow4 = new Shadow(BlurType.values()[3], Color.BLUE, 10);
      
            // set effect
            circle.setEffect(shadow1);
            circle1.setEffect(shadow2);
            circle2.setEffect(shadow3);
            circle3.setEffect(shadow4);
      
            // create a Group
            Group group = new Group(circle, circle1, circle2, circle3);
      
            // 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:

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/Shadow.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 *