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:
Si usamos Windows Builder, también podemos cambiar el color de los componentes, pinchamos en el componente y en las propiedades buscamos Background:
Nos aparecerá una ventana donde podremos seleccionar un color:
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.
como hacer para pedir el color por teclado y mostrarlo en un label