Guten Abend zusammen,
wie man dem Titel schon entnehmen kann, geht es um das bekannte Thema der Ampelschaltung.
Ich habe zwar schon so einiges hier aus dem Forum mir diesbezüglich angeschaut, doch kam ich mit den jeweiligen Kommentaren in der Struktur meines Programmes nicht weiter.
Mein Problem ist, dass alle Ampelphasen angezeigt werden bis auf eine. Dabei hängt das davon ab, in welcher Reihenfolge die if-Befehle stehen. Je nach dem fehlt entweder einfach rot oder wie hier im dargestellten Abschnitt gelb.
Das hängt damit zusammen, dass das Programm zwar am Anfang richtig schaltet, aber später wieder anders, weil sich die Zustände halt verändert haben.
Dabei habe ich mich unter anderem auch schon an if-Verschachtelung probiert und an diesem Prinzip ( https://www.java-forum.org/thema/ampelschaltung-mit-if-anweisung.170408/ ) orientiert, doch nach dieser Ordnung ging noch vieles mehr nicht.
Ich hoffe, dass man mir zeitnah weiterhelfen kann und bedanke mich im Voraus.
Mit freundlichen Grüßen
Viktor A. Kaiser
wie man dem Titel schon entnehmen kann, geht es um das bekannte Thema der Ampelschaltung.
Ich habe zwar schon so einiges hier aus dem Forum mir diesbezüglich angeschaut, doch kam ich mit den jeweiligen Kommentaren in der Struktur meines Programmes nicht weiter.
Mein Problem ist, dass alle Ampelphasen angezeigt werden bis auf eine. Dabei hängt das davon ab, in welcher Reihenfolge die if-Befehle stehen. Je nach dem fehlt entweder einfach rot oder wie hier im dargestellten Abschnitt gelb.
Das hängt damit zusammen, dass das Programm zwar am Anfang richtig schaltet, aber später wieder anders, weil sich die Zustände halt verändert haben.
Dabei habe ich mich unter anderem auch schon an if-Verschachtelung probiert und an diesem Prinzip ( https://www.java-forum.org/thema/ampelschaltung-mit-if-anweisung.170408/ ) orientiert, doch nach dieser Ordnung ging noch vieles mehr nicht.
Ich hoffe, dass man mir zeitnah weiterhelfen kann und bedanke mich im Voraus.
Mit freundlichen Grüßen
Viktor A. Kaiser
Java:
if (panelGelb.getBackground() == Color.BLACK&&panelGruen.getBackground() == Color.GREEN&&panelRot.getBackground() == Color.BLACK) {
panelGruen.setBackground(Color.black);
panelRot.setBackground(Color.black);
panelGelb.setBackground(Color.yellow);
}
if(panelRot.getBackground() == Color.RED&&panelGelb.getBackground() == Color.YELLOW){
panelGruen.setBackground(Color.green);
panelRot.setBackground(Color.black);
panelGelb.setBackground(Color.black);
}
if (panelRot.getBackground() == Color.RED&&panelGelb.getBackground() == Color.BLACK) {
panelRot.setBackground(Color.red);
panelGruen.setBackground(Color.black);
panelGelb.setBackground(Color.yellow);
}
if (panelGelb.getBackground() == Color.YELLOW&&panelGruen.getBackground() == Color.BLACK&&panelRot.getBackground() == Color.BLACK) {
panelGruen.setBackground(Color.black);
panelRot.setBackground(Color.red);
panelGelb.setBackground(Color.black);
}
if(panelGelb.getBackground() == Color.BLACK&&panelRot.getBackground() == Color.BLACK&&panelGruen.getBackground() == Color.BLACK){ //&& = und
panelRot.setBackground(Color.red);
}