Hi Leute habe ein Problem ...
Ich habe ein kleines Memory Programmiert welches so aussieht:
Ich habe ein JFrame in dem ich 4*4 Rectangles habe. Außerdem habe ich ein weiteres Rectangle welches ich bewegen kann. Wenn ich nun mit diesem beweglichen Rectangle über das "Spielfeld" fahre und auf eines der anderen Bewege kann ich "Enter" drücken und es öffnet sich quasi die Karte. Das bedeutet es wird ein weiteres JFrame erzeugt.
Unter meinen Karten befinden sich Buchstaben, und so ein Buchstabe wird in dem weitern JFrame welches ich erzeugt habe "vorgefahren", das heißt es bewegt sich ein Rectangle so über das JFrame als würde man den Buchstaben schreiben. Das Rectangle bewegt sich solange ich "Space" drücke. Ist der Buchstabe fertig abgefahren, schließt sich das zweite JFrame und ich kann erneut am ersten JFrame weiter arbeiten.
Nun habe ich aber das Problem, dass ich quasi beim Karten öffnen mehr ausführe als nur das simple JFrame zu erzeugen. Hierfür habe ich die Methode openCard():
Mit new PrintField(letter, this) erzeuge ich das zweite JFrame, ich will aber, dass setCards usw. erst ausgeführt wird, wenn der Buchstabe fertig "vorgefahren" wurde, und sich das Frame automatisch geschlossen hat.
Meine Idee, ich baue mir eine while-Schleife ein, und frage irgendeinen Boolean ab, ca so:
Das Problem hier: Mein JFrame ladet nicht erfolgreich und ich kann dass "Vorfahren" gar nicht starten.
Wie kann ich das Problem lösen ? Oder muss ich meinen kompletten Code umstrukturieren?
Ich habe ein kleines Memory Programmiert welches so aussieht:
Ich habe ein JFrame in dem ich 4*4 Rectangles habe. Außerdem habe ich ein weiteres Rectangle welches ich bewegen kann. Wenn ich nun mit diesem beweglichen Rectangle über das "Spielfeld" fahre und auf eines der anderen Bewege kann ich "Enter" drücken und es öffnet sich quasi die Karte. Das bedeutet es wird ein weiteres JFrame erzeugt.
Unter meinen Karten befinden sich Buchstaben, und so ein Buchstabe wird in dem weitern JFrame welches ich erzeugt habe "vorgefahren", das heißt es bewegt sich ein Rectangle so über das JFrame als würde man den Buchstaben schreiben. Das Rectangle bewegt sich solange ich "Space" drücke. Ist der Buchstabe fertig abgefahren, schließt sich das zweite JFrame und ich kann erneut am ersten JFrame weiter arbeiten.
Nun habe ich aber das Problem, dass ich quasi beim Karten öffnen mehr ausführe als nur das simple JFrame zu erzeugen. Hierfür habe ich die Methode openCard():
Java:
public void openCard(int height, int width) {
String letter = playfield[height][width];
new PrintField(letter, this);
setCards(letter);
sf.setKarte(letter);
printPlayerCards();
}
Meine Idee, ich baue mir eine while-Schleife ein, und frage irgendeinen Boolean ab, ca so:
Java:
public void openCard(int height, int width) {
String letter = playfield[height][width];
new PrintField(letter, this);
while(this.letterFertigGezeichnet == false){
System.out.println("Ich warte bis er fertig gezeichnet ist");
}
setCards(letter);
sf.setKarte(letter);
printPlayerCards();
}
Das Problem hier: Mein JFrame ladet nicht erfolgreich und ich kann dass "Vorfahren" gar nicht starten.
Wie kann ich das Problem lösen ? Oder muss ich meinen kompletten Code umstrukturieren?