JavaFX 效果 - 绽放

  • 简述

    在应用泛光效果时,节点某些部分的像素会发光。
    类名为 Bloom 包裹的 javafx.scene.effect代表绽放效果。这个类包含两个属性,它们是 -
    • input − 此属性属于 Effect 类型,它表示对绽放效果的输入。
    • threshold- 该属性是双精度类型;这表示节点像素的亮度阈值。使亮度大于等于该值的所有像素发光。阈值的范围是 0.0 到 1.0。
  • 例子

    以下是演示绽放效果的示例。我们将绘制一个文本“Welcome to Tutorialspoint”,并使用阈值 1.0 对其应用泛光效果。
    将此代码保存在名称为的文件中 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); 
       } 
    }      
    
    使用以下命令从命令提示符编译并执行保存的 java 文件。
    
    javac BloomEffectExample.java 
    java BloomEffectExample