”;
The Bloom effect in JavaFX will make the pixels in some portions of the node are made to glow.
The class named Bloom of the package javafx.scene.effect represents the bloom effect. This class contains two properties, which are −
-
input − This property is of the type Effect and it represents an input to the bloom effect.
-
threshold − This property is of the type double; this represents a threshold value of luminosity of the pixels of the node. All those pixels having luminosity greater than equal to this value are made to glow. The range of the threshold value is 0.0 to 1.0.
Example
Following is an example demonstrating the bloom effect. We will be drawing a text “Welcome to Tutorialspoint” and applying the bloom effect to it with a threshold value 1.0.
Save this code in a file with the name 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 and execute the saved java file from the command prompt using the following commands.
javac --module-path %PATH_TO_FX% --add-modules javafx.controls BloomEffectExample.java java --module-path %PATH_TO_FX% --add-modules javafx.controls BloomEffectExample
Output
On executing, the above program generates a JavaFX window as shown below.
”;