JavaFX | Clase de sombra interna

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:
 

  1. InnerShadow() : Crea un nuevo Objeto de InnerShadow.
  2. 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.
  3. InnerShadow (doble r, Color c) : crea un nuevo objeto de InnerShadow con radio y color especificados.
  4. 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

Deja una respuesta

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