Efectos JavaFX - Entrada de color

Efecto de entrada de color da el mismo resultado que dibujar un rectángulo y rellenarlo con color. A diferencia de otros efectos, si este efecto se aplica a cualquier nodo, solo muestra un cuadro rectangular (no el nodo). Este efecto se utiliza principalmente para pasar como entrada para otros efectos.

Por ejemplo, al aplicar el efecto de mezcla, requiere un objeto de tipo de efecto como entrada. Allí podemos pasar esto como entrada.

La clase nombrada ColorInput del paquete javafx.scene.effectrepresenta el efecto de entrada de color. Esta clase contiene cuatro propiedades a saber:

  • x- Esta propiedad es de tipo doble; representa la coordenada x de la posición de la entrada de color.

  • y- Esta propiedad es de tipo doble; representa la coordenada y de la posición de la entrada de color.

  • height- Esta propiedad es de tipo doble; representa la altura de la región que se va a rellenar con color.

  • width- Esta propiedad es de tipo doble; representa el ancho de la región que se va a rellenar con color.

  • paint- Esta propiedad es de tipo Paint; representa el color con el que se rellenará la región de entrada.

Ejemplo

A continuación se muestra un ejemplo que demuestra el efecto de entrada de color. Aquí, estamos creando una entrada de color de las dimensiones 50, 400 (alto, ancho) en la posición 50, 140 y llenándola con el color CHOCOLATE.

Estamos creando un rectángulo y aplicándole este efecto. Guarde este código en un archivo con el nombreColorInputEffectExample.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); 
   }
}

Compile y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.

javac ColorInputEffectExample.java 
java ColorInputEffectExample

Al ejecutarse, el programa anterior genera una ventana JavaFX como se muestra a continuación.