Java Farbe ändern nach jedem click

3 Antworten

Eine grafische Oberfläche, von Component geerbt hat die Funktion "addMouseListener(java.awt.event.MouseListener l)". Wenn ein Component einen MouseListener besitzt, dann werden bei jeder Mausaktion(drücken, loslassen, klicken usw.) Die Funktionen des Listeners ausgeführt.

Beispiel:

import java.awt.Frame;

public class FrameWithListener extends Frame{

    public FrameWithListener(){

        addMouseListener(new MyListener());
        setBounds(100,100,300,300);
        setVisible(true);

    }

}

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class MyListener implements MouseListener{

    public void mousePressed(MouseEvent mEvt){System.out.println(mEvt.getX()+" "+mEvt.getY());}
    public void mouseReleased(MouseEvent mEvt){System.out.println("Released");}
    public void mouseEntered(MouseEvent mEvt){System.out.println("Entered");}
    public void mouseExited(MouseEvent mEvt){System.out.println("Exited");}
    public void mouseClicked(MouseEvent mEvt){System.out.println("Clicked");}

}

Weitere Listener findest du im Paket java.awt.event.

Falls du wissen willst, wie man eine Farbe generell ändert, das geht nicht, du musst dann ein neues Color-Objekt erzeugen und die Farbe neu zuweisen.

Also abgesehen mal davon, dass deine Angaben viel zu allgemein sind, stell ich mir die Frage wie du ein Spiel programmieren willst, wenn du noch nicht mal die Farben ändern kannst.

In einem Veränderlichem kannst du die Zahl von den bisheringen Clicken speichern, und die Farbe danach ändern.