Cómo hacer un rectángulo en Gráficos en color transparente?

Estoy tratando de pintar un rectángulo en mi aplicación en un rojo sombra, pero necesito hacer es una especie de transparente, de manera que el componente bajo se mostrará. Sin embargo, todavía quiero que algo de color le mostrará. El método con el que estoy de sorteo es el siguiente:

protected void paintComponent(Graphics g) {
    if (point != null) {
        int value = this.chooseColour(); //used to return how bright the red is needed

        if(value !=0){
            Color myColour = new Color(255, value,value );
            g.setColor(myColour);
            g.fillRect(point.x, point.y, this.width, this.height);
        }
        else{
            Color myColour = new Color(value, 0,0 );
            g.setColor(myColour);
            g.fillRect(point.x, point.y, this.width, this.height);
        }
    }
}

¿Alguien sabe cómo puedo hacer que el rojo sombra un poco transparente? No necesito que sea completamente transparente, aunque.

InformationsquelleAutor ict1991 | 2011-11-13

2 Kommentare

  1. 1

    Intente esto:

    protected void paintComponent(Graphics g) {
        if (point != null) {
            int value = this.chooseColour(); //used to return how bright the red is needed
            g.setComposite(AlphaComposite.SrcOver.derive(0.8f));
    
            if(value !=0){
                Color myColour = new Color(255, value,value );
                g.setColor(myColour);
                g.fillRect(point.x, point.y, this.width, this.height);
            }
            else{
                Color myColour = new Color(value, 0,0 );
                g.setColor(myColour);
                g.fillRect(point.x, point.y, this.width, this.height);
            }
            g.setComposite(AlphaComposite.SrcOver);
    
        }
    }

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea