Ampel mit Verzögerung

Status
Nicht offen für weitere Antworten.

Ichpennhalb

Neues Mitglied
Hiho, ich wollte mal eine Ampel programmieren mit 2ampeln, 1 für auto, 1für fußgänger
wenn man auf den button drückt soll es so ablaufen dass der fußgänger drüber laufen kann(fußgänger hat grün) ohne überfahren zu werden(auto solange rot), und dazu pausen zwischen den signalen dass man auch zeit hat rüber zu kommen

kurze erklärung der variablen/codes
a0= auto hat rot
a1=auto gelb
a2=auto rot

f0=fußgänger rot
f1=fußgänger gelb

dies sind im moment noch labels die halt eine farbe haben, unsichtbar sind und je nach gebrauch sichtbar werden sollen:

Java:
currentPost.edit();
//auto gruen, fussgaenger rot
         a0.setVisible(false);
         a1.setVisible(false);
         a2.setVisible(true);
         
         f0.setVisible(true);
         f1.setVisible(false);  


try {
Thread.sleep(1000);
} catch (InterruptedException e){
}
//auto gelb, fussgaenger rot
         a0.setVisible(false);
         a1.setVisible(true);
         a2.setVisible(false);
         
         f0.setVisible(true);
         f1.setVisible(false);

geht auch soweit,
aber der komplette mit mehreren sleeps geht nicht:

Java:
currentPost.edit();

         
         a0.setVisible(false);
         a1.setVisible(false);
         a2.setVisible(true);
         
         f0.setVisible(true);
         f1.setVisible(false);

try {
Thread.sleep(1000);
} catch (InterruptedException e){
}

       a0.setVisible(false);
         a1.setVisible(true);
         a2.setVisible(false);

         f0.setVisible(true);
         f1.setVisible(false);


try {
Thread.sleep(1000);
} catch (InterruptedException e){
}

         a0.setVisible(true);
         a1.setVisible(false);
         a2.setVisible(false);

         f0.setVisible(false);
         f1.setVisible(true);



try {
Thread.sleep(1000);
} catch (InterruptedException e){
}

         a0.setVisible(false);
         a1.setVisible(true);
         a2.setVisible(false);

         f0.setVisible(true);
         f1.setVisible(false);

try {
Thread.sleep(1000);
} catch (InterruptedException e){
}

         a0.setVisible(false);
         a1.setVisible(false);
         a2.setVisible(true);

         f0.setVisible(true);
         f1.setVisible(true);

es wird hierbei immer das vor dem ersten Sleep gemacht und dann erst das beim letzten Sleep wieder, der Rest wird übersprungen.

Ich habe auch schon zwei weitere gefragt und auch unseren Informatiklehrer (tech. Gym.) aber keiner wusste weiter.

mfg
Ichpennhalb/Tobi
 
S

SlaterB

Gast
> wenn man auf den button drückt

ist das zusammen mit setVisible() der entfernte Hinweis, dass es hier um eine graphische Benutzeroberfäche, also AWT oder Swing, geht?
darf man auch ruhig explizit erwähnen ;)

tja, das ist leider ein kompliziertes Thema, die Aktion muss nebenläufig zur GUI ausgeführt werden, damti diese Zeit hat, zwischendurch zu malen,
da bin ich mal auf der spendablen Seite und gebe vor:

Java:
actionPerformed() {

  new Thread() {
    public void run() {

      // allen bisherigen Code des Listeners hier rein;

    }
  }.start();

}
 

Ichpennhalb

Neues Mitglied
Ich nutze Netbeans als Programmieroberfläche, erstelle erst ein neues Projekt und nutze ein "JFrame Form" wobei man zwischen Design und Source umherswitchen kann.
Und ja es läuft grafisch ab.
AWT bzw. SWING sagt mir (gerade) nichts, daher der Text oben noch :p.

Aber ich möchte dir danken :) Mit deiner Vorgabe ging es :)
Ich dachte mir auch schon dass man da irgendwie einen neuen Thread starten muss, hatte aber keine Ahnung wie das geht :p
Großes danke also nochmal

Ichpennhalb/Tobi ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Ampel Programmieren die jede 10 sekunden ihre farbe wechselt Java Basics - Anfänger-Themen 6
P9cman Ampel in Java implementieren Java Basics - Anfänger-Themen 3
D Ampel für Mitarbeiter zum An-/Abwesend zeigen Java Basics - Anfänger-Themen 28
S Ampel Programmieren Java Basics - Anfänger-Themen 5
Y Ampel Java Basics - Anfänger-Themen 11
L Ampel-Simulation Java Basics - Anfänger-Themen 20
T Ampel implementieren Java Basics - Anfänger-Themen 12
M Ampel Symbole Java Basics - Anfänger-Themen 4
B Ampel (mitBlueJ) Java Basics - Anfänger-Themen 6
M Ampel Java Basics - Anfänger-Themen 14
B Erste Schritte handgeschaltete Ampel programieren Java Basics - Anfänger-Themen 8
Z Ampel Java Basics - Anfänger-Themen 19
D Ampel Programmieren Java Basics - Anfänger-Themen 5
G Ampel automatisch umschalten Java Basics - Anfänger-Themen 18
V Grafische Auswertung (Ampel-System) Java Basics - Anfänger-Themen 12
R MediaPlayer: Sound hat Verzögerung Java Basics - Anfänger-Themen 2
D Verzögerung des Erscheinens der Bilder Java Basics - Anfänger-Themen 5
A Threads Thread mit verzögerung Java Basics - Anfänger-Themen 14
F Verzögerung einbauen Java Basics - Anfänger-Themen 2
Screen Verzögerung zwischen Ausgaben Java Basics - Anfänger-Themen 5
P Verzögerung der Textausgabe Java Basics - Anfänger-Themen 4
G Verzögerung Java Basics - Anfänger-Themen 7
G Verzögerung Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben