Efectos JavaFX - Bloom
Al aplicar el efecto de floración, los píxeles de algunas partes del nodo se hacen brillar.
La clase nombrada Bloom del paquete javafx.scene.effectrepresenta el efecto de floración. Esta clase contiene dos propiedades, que son:
input - Esta propiedad es del tipo Effect y representa una entrada al efecto bloom.
threshold- Esta propiedad es del tipo double; esto representa un valor umbral de luminosidad de los píxeles del nodo. Todos aquellos píxeles que tienen una luminosidad mayor que igual a este valor se hacen brillar. El rango del valor umbral es de 0,0 a 1,0.
Ejemplo
A continuación se muestra un ejemplo que demuestra el efecto de floración. Dibujaremos un texto “Bienvenido a Tutorialspoint” y le aplicaremos el efecto de floración con un valor de umbral 1.0.
Guarde este código en un archivo con el nombre BloomEffectExample.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.Bloom;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
public class BloomEffectExample 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(150);
//Setting the text to be embedded.
text.setText("Welcome to Tutorialspoint");
//Setting the color of the text
text.setFill(Color.DARKSEAGREEN);
//Instantiating the Rectangle class
Rectangle rectangle = new Rectangle();
//Setting the position of the rectangle
rectangle.setX(50.0f);
rectangle.setY(80.0f);
//Setting the width of the rectangle
rectangle.setWidth(500.0f);
//Setting the height of the rectangle
rectangle.setHeight(120.0f);
//Setting the color of the rectangle
rectangle.setFill(Color.TEAL);
//Instantiating the Bloom class
Bloom bloom = new Bloom();
//setting threshold for bloom
bloom.setThreshold(0.1);
//Applying bloom effect to text
text.setEffect(bloom);
//Creating a Group object
Group root = new Group(rectangle, text);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Sample Application");
//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 BloomEffectExample.java
java BloomEffectExample
Al ejecutarse, el programa anterior genera una ventana JavaFX como se muestra a continuación.