JavaFX 效果 - 颜色输入

颜色输入效果的输出与绘制一个矩形并用颜色填充它相同。与其他效果不同,如果将此效果应用于任何节点,它只会显示一个矩形框(而不是节点)。此效果主要用于作为其他效果的输入传递。

例如,在应用混合效果时,它需要一个效果类型的对象作为输入。在那里我们可以将其作为输入传递。

javafx.scene.effect 中名为 ColorInput 的类表示颜色输入效果。此类包含四个属性,即 −

  • x − 此属性为双精度类型;它表示颜色输入位置的 x 坐标。

  • y − 此属性为双精度类型;它表示颜色输入位置的 y 坐标。

  • height − 此属性为双精度类型;它表示要填充颜色的区域的高度。

  • width − 此属性为双精度类型;它表示要填充颜色的区域的宽度。

  • paint − 此属性为 Paint 类型;它表示要填充输入区域的颜色。

示例

以下是演示颜色输入效果的示例。在这里,我们在位置 50, 140 处创建一个尺寸为 50, 400(高度、宽度)的颜色输入,并用 CHOCOLATE 颜色填充它。

我们正在创建矩形并将此效果应用于它。将此代码保存在名为 ColorInputEffectExample.java. 的文件中。

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.effect.ColorInput; 
import javafx.scene.paint.Color; 
import javafx.scene.shape.Rectangle; 
import javafx.stage.Stage; 
         
public class ColorInputEffectExample extends Application { 
   @Override  
   public void start(Stage stage) {
        //创建一个矩形
        Rectangle rectangle = new Rectangle();
        
        //实例化 Colorinput 类
        ColorInput colorInput = new ColorInput();
        
        //设置颜色输入的坐标
        colorInput.setX(50);
        colorInput.setY(140);
        
        //设置颜色输入区域的高度
        colorInput.setHeight(50);
        
        //设置颜色输入区域的宽度
        colorInput.setWidth(400);
        
        //设置颜色输入的颜色
        colorInput.setPaint(Color.CHOCOLATE);
        
        //将 coloradjust 效果应用于矩形
        rectangle.setEffect(colorInput);
        
        //创建一个 Group 对象
        Group root = new Group(rectangle);
        
        //创建场景对象
        Scene scene = new Scene(root, 600, 300);
        
        //设置舞台(Stage)标题
        stage.setTitle("Sample Application");
        
        //将场景添加到舞台(Stage)
        stage.setScene(scene);
        
        //显示舞台(Stage)内容
        stage.show();
   }
   public static void main(String args[]){ 
      launch(args); 
   }
}   

使用以下命令从命令提示符编译并执行保存的 java 文件。

javac ColorInputEffectExample.java 
java ColorInputEffectExample 

执行时,上述程序将生成一个 JavaFX 窗口,如下所示。

颜色输入效果

javafx_effects.html