La clase Color es parte del paquete Java Abstract Window Toolkit (AWT). La clase Color crea color usando los valores RGBA dados donde RGBA significa ROJO, VERDE, AZUL, ALFA o usando el valor HSB donde HSB significa componentes HUE, SATURATION, BRI. El valor de los componentes individuales RGBA varía de 0 a 255 o de 0,0 a 0,1. El valor de alfa determina la opacidad del color, donde 0 o 0,0 representa totalmente transparente y 255 o 1,0 representa opaco.
Constructores de clase de color
- Color(ColorSpace c, float[] co, float a) : crea un color en el ColorSpace especificado con los componentes de color especificados en la array flotante y el alfa especificado.
- Color(float r, float g, float b) : crea un color opaco con componentes RGB específicos (los valores están en el rango de 0,0 a 0,1)
- Color(float r, float g, float b, float a) : crea un color con componentes RGBA específicos (los valores están en el rango 0.0 – 0.1)
- Color(int rgb) : crea un color RGB opaco con el valor RGB combinado especificado que consta del componente rojo en los bits 16 a 23, el componente verde en los bits 8 a 15 y el componente azul en los bits 0 a 7.
- Color(int rgba, boolean b) : Crea un color sRGB con el valor RGBA combinado especificado que consta del componente alfa en los bits 24 a 31, el componente rojo en los bits 16 a 23, el componente verde en los bits 8 a
15 y el componente azul en los bits 0 – 7. - Color(int r, int g, int b) : crea un color opaco con componentes RGB específicos (los valores están en el rango de 0 a 255)
- Color(int r, int g, int b, int a) : crea un color con componentes RGBA específicos (los valores están en el rango de 0 a 255)
Métodos comúnmente utilizados en la clase de color
método | explicación |
---|---|
más brillante() | crea un nuevo Color que es una versión más brillante de este Color. |
createContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform x, RenderingHints h) | crea y devuelve un PaintContext utilizado para generar un patrón de campo de color sólido. |
más oscuro() /td> |
crea un nuevo Color que es una versión más oscura de este Color. |
decodificar (String nm) | convierte una string en un entero y devuelve el color opaco especificado. |
es igual a (Objeto obj) | determina si otro objeto Color es igual a este Color. |
obtenerAlfa() | devuelve el componente alfa en el rango 0-255. |
obtenerAzul() | devuelve el componente azul en el rango 0-255 . |
getColor(String nm) | Encuentra un color en las propiedades del sistema. |
getColor(String nm, Color v) | Encuentra un color en las propiedades del sistema. |
getColor(String nm, int v) | Encuentra un color en las propiedades del sistema. |
getColorComponents(ColorSpace cspace, float[] compArray) | devuelve una array flotante que contiene solo los componentes de color del Color en el ColorSpace especificado por el parámetro cspace. |
getColorComponents(float[] compArray) | devuelve una array flotante que contiene solo los componentes de color del Color, en el ColorSpace del Color. |
obtenerEspacioColor() | devuelve el ColorSpace de este Color. |
obtenerverde() | devuelve el componente verde en el rango 0-255 en el espacio sRGB predeterminado. |
Ponerse rojo() | devuelve el componente rojo en el rango 0-255 en el espacio sRGB predeterminado. |
obtenerRGB() | Devuelve el valor RGB que representa el color en el modelo de color sRGB predeterminado. |
getHSBColor(flotante h, flotante s, flotante b) | Crea un objeto Color basado en los valores especificados para el modelo de color HSB. |
obtenerTransparencia() | devuelve el modo de transparencia para este color. |
código hash() | calcula el código hash para este Color. |
HSB a RGB (flotante h, flotante s, flotante b) | Convierte el valor HSB a valor RGB |
RGB a HSB (int r, int g, int b, float[] hsbvals) | convierte el valor RGB en valor HSB |
Los siguientes programas ilustran la clase Color en Java AWT:
- Programa para establecer el color de fondo del panel usando el color especificado en las constantes de la clase
Java
// Java program to set the background color of panel // using the color specified in the constants // of the class. import java.awt.*; import javax.swing.*; class color extends JFrame { // constructor color() { super("color"); // create a new Color Color c = Color.yellow; // create a panel JPanel p = new JPanel(); // set the background of the frame // to the specified Color p.setBackground(c); setSize(200, 200); add(p); show(); } // Main Method public static void main(String args[]) { color c = new color(); } }
Producción :
- Programa para crear un nuevo color indicando el valor RGB y establecerlo como fondo del panel
Java
// Java program to create a new Color by stating // the RGB value and set it as background of panel import java.awt.*; import javax.swing.*; class color extends JFrame { // constructor color() { super("color"); // create a new Color // RGB value of Yellow is 225, 255, 0 Color c = new Color(255, 255, 0); // create a panel JPanel p = new JPanel(); // set the background of the // frame to the specified Color p.setBackground(c); setSize(200, 200); add(p); show(); } // Main Method public static void main(String args[]) { color c = new color(); } }
Producción :
- Programa para crear un nuevo color indicando el valor RGB y el valor alfa, configúrelo como fondo del panel
Java
// Java program to create a new Color by stating the // RGB value and alpha value, set it as background // of panel . import java.awt.*; import javax.swing.*; class color extends JFrame { // constructor color() { super("color"); // create a new Color // RGB value of red is 225, 0, 0 // and set its alpha value as // 100 out of 255 Color c = new Color(255, 0, 0, 100); // create a panel JPanel p = new JPanel(); // set the background of the // frame to the specified Color p.setBackground(c); setSize(200, 200); add(p); show(); } // Main Method public static void main(String args[]) { color c = new color(); } }
Producción :
- Programa para crear un nuevo color usando el método Color (int rgb), configúrelo como fondo del panel
Java
// Java program to create a new Color by using // Color(int rgb) method, set it as background // of panel . import java.awt.*; import javax.swing.*; class color extends JFrame { // constructor color() { super("color"); // create a new Color // RGB value of blue is 255 // and set its alpha value as // 200 out of 255 Color c = new Color(255); // create a panel JPanel p = new JPanel(); // set the background of the // frame to the specified Color p.setBackground(c); setSize(200, 200); add(p); show(); } // Main Method public static void main(String args[]) { color c = new color(); } }
Producción :
- Programa para tomar el valor RGBA del usuario y configurarlo como fondo del panel
Java
// Java Program to take RGBA value from // user and set it as background of panel import java.awt.*; import javax.swing.*; import java.awt.event.*; class color extends JFrame implements ActionListener { // textfield to enter RGBA value JTextField R, G, B, A; // panel JPanel p; // constructor color() { super("color"); // create textfield R = new JTextField(3); G = new JTextField(3); B = new JTextField(3); A = new JTextField(3); // create labels JLabel l = new JLabel("Red= "); JLabel l1 = new JLabel("Green= "); JLabel l2 = new JLabel("Blue= "); JLabel l3 = new JLabel("Alpha= "); // create a panel p = new JPanel(); // create button JButton b = new JButton("ok"); JButton b1 = new JButton("brighter"); JButton b2 = new JButton("Darker"); // add ActionListener b.addActionListener(this); b2.addActionListener(this); b1.addActionListener(this); // add components to panel p.add(l); p.add(R); p.add(l1); p.add(G); p.add(l2); p.add(B); p.add(l3); p.add(A); p.add(b); p.add(b1); p.add(b2); setSize(200, 200); add(p); show(); } // if button is pressed public void actionPerformed(ActionEvent evt) { String s = evt.getActionCommand(); if (s.equals("ok")) { int r, g, b, a; // get rgba value r = Integer.parseInt(R.getText()); g = Integer.parseInt(G.getText()); b = Integer.parseInt(B.getText()); a = Integer.parseInt(A.getText()); // create a new Color Color c = new Color(r, g, b, a); // set the color as background of panel p.setBackground(c); } else if (s.equals("brighter")) { // getBackgroundColor Color c = p.getBackground(); // make the color brighter c = c.brighter(); // set the color as background of panel p.setBackground(c); } else { // getBackgroundColor Color c = p.getBackground(); // make the color brighter c = c.darker(); // set the color as background of panel p.setBackground(c); } } // Main Method public static void main(String args[]) { color c = new color(); } }
Producción :
- Programa para tomar el valor HSB del usuario y configurarlo como fondo del panel
Java
// Java Program to take HSB value from // user and set it as background of panel import java.awt.*; import javax.swing.*; import java.awt.event.*; class color extends JFrame implements ActionListener { // textfield to enter RGBA value JTextField H, S, B; // panel JPanel p; // constructor color() { super("color"); // create textfield H = new JTextField(3); S = new JTextField(3); B = new JTextField(3); // create labels JLabel l = new JLabel("Hue= "); JLabel l1 = new JLabel("Saturation= "); JLabel l2 = new JLabel("Brightness= "); // create a panel p = new JPanel(); // create button JButton b = new JButton("ok"); JButton b1 = new JButton("brighter"); JButton b2 = new JButton("Darker"); // add ActionListener b.addActionListener(this); b2.addActionListener(this); b1.addActionListener(this); // add components to panel p.add(l); p.add(H); p.add(l1); p.add(S); p.add(l2); p.add(B); p.add(b); p.add(b1); p.add(b2); setSize(200, 200); add(p); show(); } // if button is pressed public void actionPerformed(ActionEvent evt) { String st = evt.getActionCommand(); if (st.equals("ok")) { float h, s, b; // get rgba value h = Float.parseFloat(H.getText()); s = Float.parseFloat(S.getText()); b = Float.parseFloat(B.getText()); // create a new Color Color c = Color.getHSBColor(h, s, b); // set the color as background of panel p.setBackground(c); } else if (st.equals("brighter")) { // getBackgroundColor Color c = p.getBackground(); // make the color brighter c = c.brighter(); // set the color as background of panel p.setBackground(c); } else { // getBackgroundColor Color c = p.getBackground(); // make the color brighter c = c.darker(); // set the color as background of panel p.setBackground(c); } } // Main Method public static void main(String args[]) { color c = new color(); } }
Producción :
Referencia: https://docs.oracle.com/javase/7/docs/api/java/awt/Color.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