Ich versuche "Türme von Hanoi" mit Netbeans zu realisieren. Es existieren 2 Modi: halbautomatisch und automatisch. Bei halbautomatisch wird der nächste Zug durch Anklicken eines Buttons ausgelöst, bei vollautomatisch werden solange Scheiben verschoben, bis der komplette Turm von A nach B verschoben wurde.
Das ist kein Problem, wenn man den Automatik-Modus durch eine Schleife realisiert. Nachteil hierbei: ich kann das Programm nicht vorzeitig durch Betätigung eines Buttons beenden oder die Rahmenbedingungen wie Geschwindigkeit (Slider) etc. beeinflussEN:
Deshalb habe ich den Code etwas nachgebessert: meinem JFrame wurde ein ActionListener-Interface verpasst und der Code um eine actionPerformed-Methode und mehrere Anweisungen wie jButtonEnde.addActionListener(this) ergänzt. In der actionPerformed-Methode wird, wenn keines der vordefinierten Ereignisse eintritt, eine Methode bearbeiteLeerlauf() aufgerufen.
Dabei muss ich leider zwei Feststellungen machen:
1. ein Klick auf einen Button löst jetzt zweimal die mit dem Button verknüpfte Action aus (scheinbar wirkt die im generated Code - Bereich vorliegende addActionListener-Methode auch noch und ich weiss nicht wie man die löscht.
2. meine actionPerformed Methode:
Leider wird die Methode bearbeiteLeerlauf() nie ausgeführt. Warum nicht? Wie kann ich das Problem lösen?
Das ist kein Problem, wenn man den Automatik-Modus durch eine Schleife realisiert. Nachteil hierbei: ich kann das Programm nicht vorzeitig durch Betätigung eines Buttons beenden oder die Rahmenbedingungen wie Geschwindigkeit (Slider) etc. beeinflussEN:
Deshalb habe ich den Code etwas nachgebessert: meinem JFrame wurde ein ActionListener-Interface verpasst und der Code um eine actionPerformed-Methode und mehrere Anweisungen wie jButtonEnde.addActionListener(this) ergänzt. In der actionPerformed-Methode wird, wenn keines der vordefinierten Ereignisse eintritt, eine Methode bearbeiteLeerlauf() aufgerufen.
Dabei muss ich leider zwei Feststellungen machen:
1. ein Klick auf einen Button löst jetzt zweimal die mit dem Button verknüpfte Action aus (scheinbar wirkt die im generated Code - Bereich vorliegende addActionListener-Methode auch noch und ich weiss nicht wie man die löscht.
2. meine actionPerformed Methode:
Java:
public void actionPerformed(java.awt.event.ActionEvent pEvt){
if (pEvt.getSource()==jTextFieldScheiben){}jTextFieldScheibenActionPerformed(pEvt);
else if (pEvt.getSource()==jRadioButtonManuell)jRadioButtonManuellActionPerformed(pEvt);
else if (pEvt.getSource()==jRadioButtonAutomatisch) jRadioButtonAutomatischActionPerformed(pEvt);
else if (pEvt.getSource()==jButtonTakt){}jButtonTaktActionPerformed(pEvt);
else if (pEvt.getSource()==jButtonEnde)jButtonEndeActionPerformed(pEvt);
else bearbeiteLeerlauf();
}