Hiho Leute
ich habe ein Problem mit der paint() Methode, da diese beim Aufruf der repaint() Methode nicht wieder aufgerufen wird. Ich bin noch ein ziemlicher Anfänger was die grafische Programmierung anbelangt und weiß nicht mehr weiter.
In meinem Programm geht es um eine Ampel die bei Klick auf Buttons umschalten soll.
Hier ein bischen Code:
Wenn man einen Button drückt wird diese Methode geworfen:
Nur mein Problem ist das er nun nach dem Aufruf der repaint() Methode das Bild nicht aktualisiert, sondern alle Lampen weiterhin schwarz bleiben.
Kann jemand von euch einen Fehler erkennen ?
Schonmal vielen Dank für eure Antworten
Liebe Grüße
Simon
ich habe ein Problem mit der paint() Methode, da diese beim Aufruf der repaint() Methode nicht wieder aufgerufen wird. Ich bin noch ein ziemlicher Anfänger was die grafische Programmierung anbelangt und weiß nicht mehr weiter.
In meinem Programm geht es um eine Ampel die bei Klick auf Buttons umschalten soll.
Hier ein bischen Code:
Java:
public void paint( Graphics g ){
Color rot = Color.RED;
Color gelb = Color.YELLOW;
Color gruen = Color.GREEN;
Color schwarz = Color.BLACK;
g.drawOval(20, 20, 20, 20);
if( TrafficLight.getisRot() == true){
g.setColor(rot);
g.fillOval(20, 20, 20, 20);
}
else{
g.setColor(schwarz);
g.fillOval( 20, 20, 20, 20);
}
g.drawOval(20, 50, 20, 20);
if( TrafficLight.getisGelb() == true){
g.setColor(gelb);
g.fillOval(20, 50, 20, 20);
}
else{
g.setColor(schwarz);
g.fillOval(20, 50, 20, 20);
}
g.drawOval(20, 80, 20, 20);
if( TrafficLight.getisGruen() == true){
g.setColor(gruen);
g.fillOval(20, 80, 20, 20);
}
else{
g.setColor(schwarz);
g.fillOval(20, 80, 20, 20);
}
}
Wenn man einen Button drückt wird diese Methode geworfen:
Java:
public void roteSchaltung(){
TrafficLight.setisRot(true);
TrafficLight.setisGelb(false);
TrafficLight.setisGruen(false);
repaint();
}
Nur mein Problem ist das er nun nach dem Aufruf der repaint() Methode das Bild nicht aktualisiert, sondern alle Lampen weiterhin schwarz bleiben.
Kann jemand von euch einen Fehler erkennen ?
Schonmal vielen Dank für eure Antworten
Liebe Grüße
Simon