当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaFX 类 ColorInput用法及代码示例


ColorInput类是JavaFX的一部分。它用于创建渲染矩形区域的效果,该矩形区域填充有给定的Color。这等效于将填充的矩形渲染到图像中并使用ImageInput效果,不同之处在于它更方便且可能更有效。它主要作为输入传递给其他效果。

该类的构造函数:

  1. ColorInput():使用默认参数创建ColorInput的新实例。
  2. ColorInput(double x, double y, double width, double height, Paint paint):使用指定的x,y,宽度,高度和绘画创建ColorInput的新实例。

常用方法:


方法 描述
getX() 获取属性x的值。
getY() 获取属性y的值。
setHeight(double value) 设置属性高度的值
setPaint(Paint value) 设置属性画图的值。
setWidth(double value) 设置属性宽度的值。
setX(double value) 设置属性x的值。
setY(double value) 设置属性y的值。
getHeight() 获取属性高度的值。
getPaint() 获取属性paint的值。
getWidth() 获取属性宽度的值
  1. 演示ColorInput类的Java程序:在此程序中,将创建ColorInput Effect,然后设置ColorInput区域的颜色,高度,宽度和坐标。创建了一个组对象和场景对象。将场景添加到舞台,然后我们设置舞台的标题。
    // Java program to Demonstrate ColorInput class 
    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 ColorInputDemo extends Application { 
      
        // Main Method  
        public static void main(String[] args) 
        { 
      
            // launch the application 
            launch(args); 
        } 
      
        // launch the application 
        public void start(Stage primaryStage) throws Exception 
        { 
      
            // Instantiating the ColorInput class 
            ColorInput color = new ColorInput(); 
      
            // set the color 
            color.setPaint(Color.GREEN); 
      
            // sets the height of the region of color input 
            color.setHeight(50); 
      
            // sets the width of the region of color input 
            color.setWidth(200); 
      
            // set the coordinates of the Colorinput 
            color.setX(90); 
            color.setY(140); 
      
            // create a rectangle 
            Rectangle rect = new Rectangle(); 
      
            // applying coloradjust effect 
            rect.setEffect(color); 
      
            // create a group object 
            Group root = new Group(); 
      
            // create a scene object 
            Scene scene = new Scene(root, 400, 300); 
      
            root.getChildren().add(rect); 
      
            // adding scene to the stage 
            primaryStage.setScene(scene); 
      
            // set title of the stage 
            primaryStage.setTitle("ColorInput Demo"); 
      
            primaryStage.show(); 
        } 
    }

    输出:

  2. 通过使用EventHandler单击按钮将ColorInput类应用于创建的矩形的Java程序:在此程序中,我们首先设置矩形的高度,宽度和坐标,然后创建相同尺寸的矩形。现在,创建一个按钮并设置按钮的布局。现在,使用EventHandler,首先使用适当的尺寸实例化ColorInput类,然后将ColorInput Effect设置为Button。创建一个组对象,并向其添加Button和矩形。然后创建一个场景并将其添加到舞台。
    // Java program to apply ColorInput class to  
    // the created rectangle by clicking on the  
    // button using EventHandler 
    import javafx.application.Application; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
    import javafx.scene.Group; 
    import javafx.scene.Scene; 
    import javafx.scene.control.Button; 
    import javafx.scene.effect.ColorInput; 
    import javafx.scene.paint.Color; 
    import javafx.scene.shape.Rectangle; 
    import javafx.stage.Stage; 
      
    public class ColorInputExample extends Application { 
      
        public void start(Stage stage) 
        { 
      
            double x = 10; 
            double y = 10; 
            double w = 40; 
            double h = 180; 
      
            // Rectangle 
            Rectangle rect = new Rectangle(x, y, w, h); 
            rect.setFill(Color.WHITE); 
            rect.setStrokeWidth(1); 
            rect.setStroke(Color.BLACK); 
      
            // Button 
            Button button = new Button("Click To See the Effects!"); 
      
            // set button layout coordinates 
            button.setLayoutX(100); 
            button.setLayoutY(30); 
      
            button.setPrefSize(250, 150); 
      
            button.setOnAction(new EventHandler<ActionEvent>() { 
      
                public void handle(ActionEvent event) 
                { 
                    // instantiating the colorinput class 
                    ColorInput colorInput = new ColorInput(x, y,  
                                         w, h, Color.STEELBLUE); 
      
                    // Setting ColorInput effect 
                    button.setEffect(colorInput); 
                } 
            }); 
      
            // create the Group object 
            Group root = new Group(); 
      
            root.getChildren().addAll(button, rect); 
      
            Scene scene = new Scene(root, 450, 300); 
            stage.setTitle("JavaFX ColorInput Effect"); 
            stage.setScene(scene); 
      
            stage.show(); 
        } 
      
        // Main Method 
        public static void main(String args[]) 
        { 
      
            // Launch the application 
            launch(args); 
        } 
    }

    输出:

注意:以上程序可能无法在在线IDE中运行。请使用离线编译器。

参考: https://docs.oracle.com/javafx/2/api/javafx/scene/effect/ColorInput.html



相关用法


注:本文由纯净天空筛选整理自chitranayal大神的英文原创作品 JavaFX | ColorInput Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。