Efectos JavaFX - Sombra
Este efecto crea un duplicado del nodo especificado con bordes borrosos.
La clase nombrada Shadow del paquete javafx.scene.effectrepresenta el efecto de tono sepia. Esta clase contiene seis propiedades, que son:
color - Esta propiedad es de tipo Color que representa el color de la sombra.
blur type - Esta propiedad es de BlurType y representa el tipo de efecto de desenfoque utilizado para desenfocar la sombra.
radius - Esta propiedad es del tipo double y representa el radio del kernel de difuminado de sombras.
width - Esta propiedad es del tipo double y representa el ancho del kernel de desenfoque de sombra.
height - Esta propiedad es del tipo double y representa la altura del kernel de difuminado de sombras.
input - Esta propiedad es del tipo Efecto y representa una entrada al efecto de sombra.
Ejemplo
El siguiente programa es un ejemplo que demuestra el efecto de sombra de JavaFX. Aquí, estamos dibujando el texto "Bienvenido a Tutorialspoint" y un círculo en una escena.
Estamos aplicando el efecto de sombra con el tipo de desenfoque Gaussiano con el color Rosy Brown y la altura, el ancho y el radio como 5.
Guarde este código en un archivo con el nombre ShadowEffectExample.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.BlurType;
import javafx.scene.effect.Shadow;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
public class ShadowEffectExample extends Application {
@Override
public void start(Stage stage) {
//Creating a Text object
Text text = new Text();
//Setting font to the text
text.setFont(Font.font(null, FontWeight.BOLD, 40));
//setting the position of the text
text.setX(60);
text.setY(50);
//Setting the text to be embedded.
text.setText("Welcome to Tutorialspoint");
//Setting the color of the text
text.setFill(Color.DARKSEAGREEN);
//Drawing a Circle
Circle circle = new Circle();
//Setting the center of the circle
circle.setCenterX(300.0f);
circle.setCenterY(160.0f);
//Setting the radius of the circle
circle.setRadius(100.0f);
//Instantiating the Shadow class
Shadow shadow = new Shadow();
//setting the type of blur for the shadow
shadow.setBlurType(BlurType.GAUSSIAN);
//Setting color of the shadow
shadow.setColor(Color.ROSYBROWN);
//Setting the height of the shadow
shadow.setHeight(5);
//Setting the width of the shadow
shadow.setWidth(5);
//Setting the radius of the shadow
shadow.setRadius(5);
//Applying shadow effect to the text
text.setEffect(shadow);
//Applying shadow effect to the circle
circle.setEffect(shadow);
//Creating a Group object
Group root = new Group(circle, text);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Bloom effect example");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
Compile y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.
javac ShadowEffectExample.java
java ShadowEffectExample
Al ejecutarse, el programa anterior genera una ventana JavaFX como se muestra a continuación.