當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。