Javafx 简明教程

JavaFX - Color Input Effect

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

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

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

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

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

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

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

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

Example

下面是一个演示颜色输入效果的示例。在这里,我们在位置 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) {
      //creating a rectangle
      Rectangle rectangle = new Rectangle();

      //Instantiating the Colorinput class
      ColorInput colorInput = new ColorInput();

      //Setting the coordinates of the color input
      colorInput.setX(50);
      colorInput.setY(140);

      //Setting the height of the region of the collor input
      colorInput.setHeight(50);

      //Setting the width of the region of the color input
      colorInput.setWidth(400);

      //Setting the color the color input
      colorInput.setPaint(Color.CHOCOLATE);

      //Applying coloradjust effect to the Rectangle
      rectangle.setEffect(colorInput);

      //Creating a Group object
      Group root = new Group(rectangle);

      //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 --module-path %PATH_TO_FX% --add-modules javafx.controls ColorInputEffectExample.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls ColorInputEffectExample

Output

执行后,上述程序会生成如下所示的 JavaFX 窗口。

colorinput effect