JavaFx | ColorPicker con ejemplos

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:

  • Un modo de botón simple
  • Un modo de botón de menú
  • Un modo de botón de menú dividido
  • Los constructores de la clase son:

    1. ColorPicker() :Crea una instancia de ColorPicker predeterminada con un color seleccionado establecido en blanco.
    2. 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:

    1. 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:

    2. 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 :

    3. 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

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *