Change color on button event

HiImSkulte

Mitglied
Hello guys!
I have a question, I want to change the color of a button on a JFrame when the player clicks on it (I already defined the location in the mousePressed() and mouseReleased() Method, here the code.
Here my render() Method:

Java:
public void render() {
        BufferStrategy bs = getBufferStrategy();
        if (bs == null) {
            createBufferStrategy(3);
            return;
        }
       
        for (int i = 0; i < pixels.length; i++) {
            pixels[i] = 0xff00ff;
        }
       
        screen.clear(0);
        screen.render(0);

        Graphics g = bs.getDrawGraphics();
            g.create();
            g.drawImage(image, 0, 0, width, height, null);
               
            // MAIN BUTTON
                g.setColor(new Color(cwhite));
                g.fillRect(300, 200, rectWidth, rectHeight);
                g.setColor(new Color(cblack));
                g.setFont(new Font("Arial", 0, 14));
                g.drawString("Click Me!", 320, 250);
               
            // UPGRADE BUTTON
                g.setColor(new Color(cwhite));
                g.fillRect(610, 50, 150, 50);
                g.setColor(new Color(cblack));
                g.setFont(new Font("Arial", 0, 14));
                g.setColor(new Color(0));
                g.drawString("Upgrade your Yee!", 625, 80);
               
            // DOUBLECOIN BUTTON
                g.setColor(new Color(cwhite));
                g.fillRect(50, 100, 125, 50);
                g.setColor(new Color(cblack));
                g.setFont(new Font("Arial", 0, 14));
                g.drawString("Double your Coins!", 50, 125);
                g.drawString(String.valueOf(rate), 50, 150);
               
            // COINS
                g.setFont(new Font("Arial", 0, 25));
                g.setColor(new Color(cwhite));
                g.drawString(String.valueOf(counter), 50, 50);
               
            // LINE
                g.drawLine(575, 0, 575, 600);
               
               
           
           
           
        g.dispose();
        bs.show();
    }

And here my mouse Events:

Java:
@Override
    public void mousePressed(MouseEvent e) {
        if ((mousex > 610 && mousex <= 760) && (mousey >= 50 && mousey <= 100)) {
           
        }
    }

    @Override
    public void mouseReleased(MouseEvent e) {
        if ((mousex > 610 && mousex <= 760) && (mousey >= 50 && mousey <= 100)) {
           
        }
    }

I don't know how to change the color of the "Upgrade" Button now.
Thanks for help! Bye! :)
 

Flown

Administrator
Mitarbeiter
Simplest way would be setting a flag, like:
Java:
@Override
public void mousePressed(MouseEvent e) {
  if ((mousex > 610 && mousex <= 760) && (mousey >= 50 && mousey <= 100)) {
    upgradePressed = true;
    repaint();
  }
}

@Override
public void mouseReleased(MouseEvent e) {
  if ((mousex > 610 && mousex <= 760) && (mousey >= 50 && mousey <= 100)) {         
    upgradePressed = false;
    repaint();
  }
}
You also need to change the render method to assign a different color:
Java:
// Drawing the upgrade button
if(upgradePressed) {
  g.setColor(Color.GREEN);
} else {
  g.setColor(Color.BLUE);
}
g.drawRect(...);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C LWJGL Color Picking Textures deaktivieren Spiele- und Multimedia-Programmierung 0
G JOGL Color stimmt nicht Spiele- und Multimedia-Programmierung 3
S JOGL Selection By Color Spiele- und Multimedia-Programmierung 3
A Hilfe bei der Methode COLOR (Java) Spiele- und Multimedia-Programmierung 10
A QuadArray color setzen Spiele- und Multimedia-Programmierung 10
G Farbig zeichnen ohne java.awt.Color? Spiele- und Multimedia-Programmierung 5
R Memory - Nicht alle Button lassen sich aktivieren? Spiele- und Multimedia-Programmierung 1
dummycoders Android Studio - Button ändert Farbe erst nach Delay? Spiele- und Multimedia-Programmierung 5
H Make a cooldown on a button? Spiele- und Multimedia-Programmierung 1
G [LibGDX] Button Klick Probleme Spiele- und Multimedia-Programmierung 1
J mehrere Listener für einen Button / Label Spiele- und Multimedia-Programmierung 1
X LWJGL - Anklick baren Button erstellen aber wie? Spiele- und Multimedia-Programmierung 6
S Button soll verschiedene panel zufällig durchschalten Spiele- und Multimedia-Programmierung 14
M Mathetrainer - Reset Button funktioniert nicht! Spiele- und Multimedia-Programmierung 8
A Button ausblenden Spiele- und Multimedia-Programmierung 3
P JOGL Button-klick-Problem Spiele- und Multimedia-Programmierung 2
B Problem : Button-Klick bewirkt nichts Spiele- und Multimedia-Programmierung 4
K Button eigenschaften bearbeiten Spiele- und Multimedia-Programmierung 20
B Animation durch Button auslösen Spiele- und Multimedia-Programmierung 2
K Würfel vergrößern und verkleinern per Button Spiele- und Multimedia-Programmierung 7
G Warten auf Button-Aktion in Schleife? Spiele- und Multimedia-Programmierung 7

Ähnliche Java Themen


Oben