Como insertar el componente JColorChooser en una aplicación gráfica en Java

Hola a todos, hoy os explicare como podemos usar el componente JColorChooser en Java

El componente JColorChooser nos permite abrir una ventana de dialogo donde podemos elegir un color, con el que podremos hacer lo que queramos con él.

Para abrir un dialogo, no es necesario crear un objeto de esta clase (se puede hacer), ya que podemos acceder de forma estatica, es decir, a través del nombre de la clase.

Usaremos el método showDialgog(panel, «titulo de la ventana», color inicial); que devuelve un objeto de la clase Color. Por ejemplo:

Color color=JColorChooser.showDialog(contentPane, "Elige un color", Color.BLACK);

Esto es lo que se vera:

ejemplo jcolorchooser

Tendremos varias pestañas para elegir.

Al seleccionar un color, este lo guardara en un objeto Color. Después, haremos lo que tengamos que hacer con ese color.

Os dejo un ejemplo con donde abrimos el selector de color con un botón y modificamos el fondo de una etiqueta.

import java.awt.EventQueue;
import javax.swing.*;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class EjemploJColorChooser extends JFrame {

	private JPanel contentPane;
	private JLabel lblNewLabel;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					EjemploJColorChooser frame = new EjemploJColorChooser();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public EjemploJColorChooser() {

		//Parametros asociados a la ventana
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setLayout(null);
		setContentPane(contentPane);

		//Componentes

		JButton btnEligeUnColor = new JButton("Elige un color");
		btnEligeUnColor.setBounds(10, 60, 137, 23);
		contentPane.add(btnEligeUnColor);

		lblNewLabel = new JLabel("");
		lblNewLabel.setBackground(Color.WHITE);
		lblNewLabel.setOpaque(true);
		lblNewLabel.setBounds(185, 64, 154, 91);
		contentPane.add(lblNewLabel);

		JLabel lblMuestraDeColor = new JLabel("Muestra de color");
		lblMuestraDeColor.setBounds(215, 39, 106, 14);
		contentPane.add(lblMuestraDeColor);

		//Eventos

		btnEligeUnColor.addActionListener(new ActionListener(){
			public void actionPerformed (ActionEvent e){

				//Mostramos el dialogo, indicamos el panel, el titulo del dialogo y un color por defecto
				//Devuelve un color
				Color color=JColorChooser.showDialog(contentPane, "Elige un color", Color.BLACK);

				//Cambiamos el color de fondo de la etiqueta
				lblNewLabel.setBackground(color);
				lblNewLabel.setOpaque(true);
			}
		});

	}

}

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

1 comentario

  1. cruz guadalupe molina lagunes

    necesito ayuda necesito un libro o manual para hacer listas enlazadas,lista doblemente enlazadas,listas circulares y listas doblemente circulares paso por paso

Deja una respuesta

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