G
Gast
Gast
Hi,
ich programmiere (oder versuche es zumindest) gerade ein kleines Kartenspiel in Java. Zuerst hab ich ne Kommandozeilenversion geschrieben in der man gefragt wird ob man noch eine Karte ziehen möchte oder nicht, dann kann man "yes" oder "no" eingeben und ein BufferedReader wertet das aus. Das wird halt in ner Schleife so lange wiederholt bis der User "no" eingibt und keine Karte mehr will.
Nun wollte ich das Spiel auf eine Swing-Applikation umsetzen und frage mich wie man es hinbekommt, dass das Programm darauf wartet, dass ich einen von zwei in die Swing Oberfläche eingebauten Buttons drücke und auswertet. Bin auf dem Gebiet noch nicht so fit.
Bisher lande ich in ner Endlosschleife und muss manuell den Thread killen.
Die Buttons werden erst enabled wenn das Programm an der Stelle ist wo man gefragt wird. Hatte mir dann gedacht, dass man in den actionPerformed-Methoden der Buttons die variable "wantAnotherCard" auf true setzt und damit den weiteren Ablauf steuert.
Hier ein Codeauszug:
Hab im Netz ein Beispiel gefunden wie man das mit ner MessageBox in nem Applet macht mit Threads und dann wait() benutzt, aber hinter Threads steig ich noch nicht wirklich.
Vielleicht hat ja auch einer ne Empfehlung was genau man sich dazu anschauen könnte oder weiß wo es ein Beispiel dazu gibt. Allerdings soll es kein Applet sein! Und da man ja schon von Swing erbt geht es auch nicht von Thread zu erben.
Vielen Dank für Eure Mühe!
ich programmiere (oder versuche es zumindest) gerade ein kleines Kartenspiel in Java. Zuerst hab ich ne Kommandozeilenversion geschrieben in der man gefragt wird ob man noch eine Karte ziehen möchte oder nicht, dann kann man "yes" oder "no" eingeben und ein BufferedReader wertet das aus. Das wird halt in ner Schleife so lange wiederholt bis der User "no" eingibt und keine Karte mehr will.
Nun wollte ich das Spiel auf eine Swing-Applikation umsetzen und frage mich wie man es hinbekommt, dass das Programm darauf wartet, dass ich einen von zwei in die Swing Oberfläche eingebauten Buttons drücke und auswertet. Bin auf dem Gebiet noch nicht so fit.
Bisher lande ich in ner Endlosschleife und muss manuell den Thread killen.
Die Buttons werden erst enabled wenn das Programm an der Stelle ist wo man gefragt wird. Hatte mir dann gedacht, dass man in den actionPerformed-Methoden der Buttons die variable "wantAnotherCard" auf true setzt und damit den weiteren Ablauf steuert.
Hier ein Codeauszug:
Code:
do {
txt_anothercard.setText("Would you like to have another card?");
btn_yes.setEnabled(true);
btn_no.setEnabled(true);
// Hier fehlt die entsprechende "Warteschleife" auf Buttondruck.
if (wantAnotherCard) {
tempCard = giveRandomCard();
playerValue += tempCard.getValue();
pl_card_txt.setText(tempCard.getValue());
playerCardsCount++;
}
} while (wantAnotherCard);
Hab im Netz ein Beispiel gefunden wie man das mit ner MessageBox in nem Applet macht mit Threads und dann wait() benutzt, aber hinter Threads steig ich noch nicht wirklich.
Vielleicht hat ja auch einer ne Empfehlung was genau man sich dazu anschauen könnte oder weiß wo es ein Beispiel dazu gibt. Allerdings soll es kein Applet sein! Und da man ja schon von Swing erbt geht es auch nicht von Thread zu erben.
Vielen Dank für Eure Mühe!