La clase ColorInput es parte de JavaFX. Se utiliza para crear un efecto que representa una región rectangular, rellena con el Color dado. Es equivalente a representar un rectángulo relleno en una imagen y usar un efecto ImageInput, excepto que es más conveniente y potencialmente mucho más eficiente. Se pasa principalmente a los otros efectos como entrada.
Constructores de la clase:
- ColorInput() : crea una nueva instancia de ColorInput con parámetros predeterminados.
- ColorInput(doble x, doble y, doble ancho, doble altura, Paint paint) : crea una nueva instancia de ColorInput con x, y, ancho, alto y pintura especificados.
Métodos comúnmente utilizados:
Método | Descripción |
---|---|
obtenerX() | Obtiene el valor de la propiedad x. |
obtenerY() | Obtiene el valor de la propiedad y. |
setHeight(valor doble) | Establece el valor de la altura de la propiedad. |
setPaint(valor de pintura) | Establece el valor de la propiedad paint. |
setWidth (valor doble) | Establece el valor del ancho de la propiedad. |
setX(valor doble) | Establece el valor de la propiedad x. |
setY(doble valor) | Establece el valor de la propiedad y. |
obtenerAltura() | Obtiene el valor de la propiedad height. |
obtener pintura() | Obtiene el valor de la propiedad paint. |
obtenerAncho() | Obtiene el valor de la propiedad width |
- Programa Java para demostrar la clase ColorInput: en este programa, se crea el efecto ColorInput y luego establecemos el color, la altura, el ancho y las coordenadas de la región de ColorInput. Se crea un objeto de grupo y un objeto de escena. Se agrega una escena al escenario y luego establecemos el título del escenario.
// 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();
}
}
Producción:
- Programa Java para aplicar la clase ColorInput al rectángulo creado haciendo clic en el botón usando EventHandler: En este programa, primero establecemos la altura, el ancho y las coordenadas de un rectángulo y luego creamos un rectángulo de la misma dimensión. Ahora, cree un botón y configure los diseños del botón. Ahora, usando EventHandler, primero, crea una instancia de una clase ColorInput usando la dimensión adecuada y luego establece ColorInput Effect en el botón. Cree un objeto de grupo y agréguele un botón y un rectángulo. Luego crea una escena y agrégala al escenario.
// 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);
}
}
Producción:
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.
Referencia: https://docs.oracle.com/javafx/2/api/javafx/scene/effect/ColorInput.html