AWT de Java | Clase de color

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

  1. 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.
  2. 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)
  3. 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)
  4. 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.
  5. 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.
  6. 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)
  7. 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

Deja una respuesta

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