ColorPicker es parte de JavaFX. ColorPicker permite al usuario elegir un color de un conjunto de colores dado o crear su propio color personalizado. Se puede establecer un Color inicial usando la función setValue() o definiéndolo en un constructor y el color seleccionado por el usuario se puede encontrar usando la función getValue().
Se genera un evento de acción cuando el usuario selecciona un color del selector de color. Este evento se puede controlar mediante un controlador de eventos.
La apariencia de ColorPicker se puede controlar de tres maneras:
Los constructores de la clase son:
- ColorPicker() :Crea una instancia de ColorPicker predeterminada con un color seleccionado establecido en blanco.
- ColorPicker (Color c) : crea una instancia de ColorPicker y establece el color seleccionado en el color dado.
Métodos comúnmente utilizados :
método | explicación |
---|---|
obtenerColoresPersonalizados() | Obtiene la lista de colores personalizados agregados a la Paleta de colores por el usuario. |
establecerValor(Color c) | establece el color del selector de color en el color c |
obtenerValor() | devuelve un objeto de color que define el color seleccionado por el usuario |
Los siguientes programas ilustrarán el uso del selector de color:
- Programa para crear un selector de color y agregarlo al escenario: Este programa crea un ColorPicker indicado con el nombre cp . El selector de color se creará dentro de una escena, que a su vez se alojará dentro de un escenario (que es el contenedor JavaFX de nivel superior). La función setTitle() se usa para proporcionar título al escenario. Luego se crea un mosaico, en el que se llama al método addChildren() para adjuntar el selector de color dentro de la escena, junto con la resolución especificada por (200, 200) en el código. Finalmente, se llama al método show() para mostrar los resultados finales.
// Java Program to create a color picker and add it to the stage
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.event.ActionEvent;
import
javafx.event.EventHandler;
import
javafx.collections.*;
import
javafx.stage.Stage;
import
javafx.scene.text.Text.*;
import
javafx.scene.paint.*;
import
javafx.scene.text.*;
public
class
colorpicker
extends
Application {
// labels
Label l;
// launch the application
public
void
start(Stage s)
{
// set title for the stage
s.setTitle(
"creating color picker"
);
// create a tile pane
TilePane r =
new
TilePane();
// create a label
l =
new
Label(
"This is a color picker example "
);
// create a color picker
ColorPicker cp =
new
ColorPicker(Color.BLUE);
// add label
r.getChildren().add(l);
r.getChildren().add(cp);
// create a scene
Scene sc =
new
Scene(r,
200
,
200
);
// set the scene
s.setScene(sc);
s.show();
}
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
Producción:
- Programa para crear un selector de color de tres apariencias diferentes: Este programa crea un ColorPicker indicado con el nombre cp, cp1, cp2. cp tendrá la apariencia de un botón de menú, cp1 tendrá la apariencia de un botón y cp2 tendrá la apariencia de un botón de división. Los selectores de color se crearán dentro de una escena, que a su vez se alojará dentro de un escenario (que es el contenedor JavaFX de nivel superior). La función setTitle() se utiliza para proporcionar título al escenario. Luego se crea un mosaico en el que se llama al método addChildren() para adjuntar el selector de color dentro de la escena, junto con la resolución especificada por (200, 200) en el código. Finalmente, se llama al método show() para mostrar los resultados finales.
// Java Program to create color picker of three different appearance
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.event.ActionEvent;
import
javafx.event.EventHandler;
import
javafx.collections.*;
import
javafx.stage.Stage;
import
javafx.scene.text.Text.*;
import
javafx.scene.paint.*;
import
javafx.scene.text.*;
public
class
colorpicker_1
extends
Application {
// labels
Label l;
// launch the application
public
void
start(Stage s)
{
// set title for the stage
s.setTitle(
"creating color picker"
);
// create a tile pane
TilePane r =
new
TilePane();
// create a label
l =
new
Label(
"This is a color picker example "
);
// create a color picker
ColorPicker cp =
new
ColorPicker(Color.BLUE);
// create a color picker
ColorPicker cp1 =
new
ColorPicker(Color.BLUE);
// set the appearance of color picker to button
cp1.getStyleClass().add(
"button"
);
// create a color picker
ColorPicker cp2 =
new
ColorPicker(Color.BLUE);
// set the appearance of color picker to split button
cp2.getStyleClass().add(
"split-button"
);
// add label
r.getChildren().add(l);
r.getChildren().add(cp);
r.getChildren().add(cp1);
r.getChildren().add(cp2);
// create a scene
Scene sc =
new
Scene(r,
200
,
200
);
// set the scene
s.setScene(sc);
s.show();
}
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
Salida :
- Programa para crear un selector de color y agregarle un oyente:Este programa crea un ColorPicker indicado con el nombre cp. Crearemos un evento hab=ndler y una etiqueta l2 que mostrará el color seleccionado por el usuario. El controlador de eventos manejará los eventos del selector de color y establecerá el texto de la etiqueta l2 en el valor RGB del color seleccionado. El evento se asociará con el selector de color mediante el método setOnAction(). Los selectores de color se crearán dentro de una escena, que a su vez se alojará dentro de un escenario (que es el contenedor JavaFX de nivel superior). La función setTitle() se utiliza para proporcionar título al escenario. Luego se crea un mosaico en el que se llama al método addChildren() para adjuntar el selector de color dentro de la escena, junto con la resolución especificada por (200, 200) en el código. Finalmente, se llama al método show() para mostrar los resultados finales.
// Java Program to create color picker and add listener to it
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.event.ActionEvent;
import
javafx.event.EventHandler;
import
javafx.collections.*;
import
javafx.stage.Stage;
import
javafx.scene.text.Text.*;
import
javafx.scene.paint.*;
import
javafx.scene.text.*;
public
class
colorpicker_2
extends
Application {
// labels
Label l;
// launch the application
public
void
start(Stage s)
{
// set title for the stage
s.setTitle(
"creating color picker"
);
// create a tile pane
TilePane r =
new
TilePane();
// create a label
l =
new
Label(
"This is a color picker example "
);
Label l1 =
new
Label(
"no selected color "
);
// create a color picker
ColorPicker cp =
new
ColorPicker();
// create a event handler
EventHandler<ActionEvent> event =
new
EventHandler<ActionEvent>() {
public
void
handle(ActionEvent e)
{
// color
Color c = cp.getValue();
// set text of the label to RGB value of color
l1.setText(
"Red = "
+ c.getRed() +
", Green = "
+ c.getGreen()
+
", Blue = "
+ c.getBlue());
}
};
// set listener
cp.setOnAction(event);
// add label
r.getChildren().add(l);
r.getChildren().add(cp);
r.getChildren().add(l1);
// create a scene
Scene sc =
new
Scene(r,
500
,
200
);
// set the scene
s.setScene(sc);
s.show();
}
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
Salida :
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea; use un compilador fuera de línea.
Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/ColorPicker.html
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA