by Anonymous » 18 Aug 2025, 23:08
Ich mache jetzt ein einfaches Sudoku -Spiel von Javafx. Und jetzt habe ich einige Schwierigkeiten im Dialog getroffen. Ich hatte zwei Szene erstellt, die Menüszene enthält nur "neues Spiel" und "Weiter" -Knopf, die Hauptszene enthält Sudoku -Spiel. In der Hauptszene hatte ich eine Schaltfläche erstellt, um zu überprüfen, ob die Antwort des Spielers korrekt ist. Wenn es falsch ist, können Sie hier einen Dialog wie dieses IMG anstellen und wenn es korrekt ist, kann es diesen IMG hier gefallen. Alles, was ich
ändern muss, ist der Text der Schaltfläche und es ist Aktion, während beim Wiederieren von Wiederholung in die Spielszene und auf die Hauptszene klicken. Code für zwei Alarmboxen
(Quellcode von
https://code.makery.ch/blog/javafx-dialogs-official/)ell>
Code: Select all
Alert right = new Alert(AlertType.CONFIRMATION);
right.setTitle("Checking Result");
right.setHeaderText(null);
right.setContentText("Your answer is correct. Would you like to start
again");
ButtonType restart = new ButtonType("Restart");
ButtonType quit = new ButtonType("Quit");
right.getButtonTypes().setAll(restart, quit);
Alert wrong = new Alert(AlertType.CONFIRMATION);
wrong.setTitle("Checking Result");
wrong.setHeaderText(null);
wrong.setContentText("Your answer is incorrect. Would you like to try
again");
ButtonType retry = new ButtonType("Retry");
wrong.getButtonTypes().setAll(retry, quit);
< /code>
Der Code für Aktionen < /p>
Optional result = right.showAndWait();
if (result.isPresent() && result.get() == quit) {
stage.setScene(main_frame);
}else if(result.isPresent() && result.get() ==
restart) {// call the actionevent clears}
Optional result = wrong.showAndWait();
if (result.isPresent() && result.get() == quit) {
stage.setScene(main_frame);
}else if(result.isPresent() && result.get() ==
retry) {// call the actionevent clears}
< /code>
Der Code für EventHandler < /p>
final EventHandler clears = new EventHandler() {
@Override
public void handle(final ActionEvent event) {
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
if (digging_array[i][j] == 1) {
sudoku[i][j].setText(Integer.toString(final_Array[i][j]));
} else {
sudoku[i][j].setText("");
}
}
}
}
};
Ich mache jetzt ein einfaches Sudoku -Spiel von Javafx. Und jetzt habe ich einige Schwierigkeiten im Dialog getroffen. Ich hatte zwei Szene erstellt, die Menüszene enthält nur "neues Spiel" und "Weiter" -Knopf, die Hauptszene enthält Sudoku -Spiel. In der Hauptszene hatte ich eine Schaltfläche erstellt, um zu überprüfen, ob die Antwort des Spielers korrekt ist. Wenn es falsch ist, können Sie hier einen Dialog wie dieses IMG anstellen und wenn es korrekt ist, kann es diesen IMG hier gefallen. Alles, was ich [url=viewtopic.php?t=12045]ändern[/url] muss, ist der Text der Schaltfläche und es ist Aktion, während beim Wiederieren von Wiederholung in die Spielszene und auf die Hauptszene klicken. Code für zwei Alarmboxen
(Quellcode von https://code.makery.ch/blog/javafx-dialogs-official/)ell>
[code]Alert right = new Alert(AlertType.CONFIRMATION);
right.setTitle("Checking Result");
right.setHeaderText(null);
right.setContentText("Your answer is correct. Would you like to start
again");
ButtonType restart = new ButtonType("Restart");
ButtonType quit = new ButtonType("Quit");
right.getButtonTypes().setAll(restart, quit);
Alert wrong = new Alert(AlertType.CONFIRMATION);
wrong.setTitle("Checking Result");
wrong.setHeaderText(null);
wrong.setContentText("Your answer is incorrect. Would you like to try
again");
ButtonType retry = new ButtonType("Retry");
wrong.getButtonTypes().setAll(retry, quit);
< /code>
Der Code für Aktionen < /p>
Optional result = right.showAndWait();
if (result.isPresent() && result.get() == quit) {
stage.setScene(main_frame);
}else if(result.isPresent() && result.get() ==
restart) {// call the actionevent clears}
Optional result = wrong.showAndWait();
if (result.isPresent() && result.get() == quit) {
stage.setScene(main_frame);
}else if(result.isPresent() && result.get() ==
retry) {// call the actionevent clears}
< /code>
Der Code für EventHandler < /p>
final EventHandler clears = new EventHandler() {
@Override
public void handle(final ActionEvent event) {
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
if (digging_array[i][j] == 1) {
sudoku[i][j].setText(Integer.toString(final_Array[i][j]));
} else {
sudoku[i][j].setText("");
}
}
}
}
};
[/code]