Colores en Java

Hola a todos, hoy os explicare como crear colores que podemos usar en los componentes de nuestras aplicaciones gráficas.

La clase que nos permitirá manejar colores es la clase Color, en java.awt.

La forma más fácil de crearlo es con 3 parámetros int, entre 0 y 255, estos parámetros representan al rojo, verde y azul, que combinados crean un nuevo color. Por ejemplo:

Color color1=new Color(223, 45, 223);
Color color2=new Color(223, 227, 40);
Color color3=new Color(80, 13, 255);

Recuerda que también tenemos constantes con valores de colores, se invocan con la clase Color.»nombre del color».

Para modificar el color de un componente, usaremos el método setBackground(Color); ademas debemos usar el método setOpaque(true); para que sea visible (es posible, que no sea necesario).

Os dejo un ejemplo práctico:

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;

public class EjemploColores extends JFrame {

	private JPanel contentPane;
	private JTextField txtColor;

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

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

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

		//Colores

		Color color1=new Color(223, 45, 223);
		Color color2=new Color(223, 227, 40);
		Color color3=new Color(80, 13, 255);

		//Componentes

		JLabel lblColor = new JLabel("Color1");
		lblColor.setBackground(color1);
		//Si no lo indocamos no se vera el color
		lblColor.setOpaque(true);
		lblColor.setBounds(48, 38, 46, 14);
		contentPane.add(lblColor);

		JButton btnColor = new JButton("Color2");
		btnColor.setBackground(color2);
		//Si no lo indicamos, en este caso, no pasaria nada
		btnColor.setOpaque(true);
		btnColor.setBounds(48, 86, 89, 23);
		contentPane.add(btnColor);

		txtColor = new JTextField();
		txtColor.setText("color3");
		txtColor.setBackground(color3);
		//Si no lo indicamos, en este caso, no pasaria nada
		txtColor.setOpaque(true);
		txtColor.setBounds(48, 150, 86, 20);
		contentPane.add(txtColor);
		txtColor.setColumns(10);

	}
}

Así se vería:

ejemplo color

 

Si usamos Windows Builder, también podemos cambiar el color de los componentes, pinchamos en el componente y en las propiedades buscamos Background:

ejemplo color 2

Nos aparecerá una ventana donde podremos seleccionar un color:

ejemplo color 3

Con Netbeans también se puede hacer, pinchando en un elemento y modificando su valor background.

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

Compartir

1 comentario

  1. MATILDA EN

    como hacer para pedir el color por teclado y mostrarlo en un label

Deja una respuesta

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