Я пытаюсь сделать игру судоку, используя JAVA FX
.Я должен открыть страницу приветствия, содержащую две кнопки NEW GAME
и CONTINUE GAME
.Если щелкнуть NEW GAME
, он должен открыть Sudoku.java
, открыть его этап и закрыть файл и этап Welcome.java
.Как я могу это сделать или это вообще возможно?
Welcome.java
:
package application;
import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.*;
public class Welcome extends Application{
@Override
public void start(Stage primaryStage) {
AnchorPane root = new AnchorPane();
root.setPrefHeight(400);
root.setPrefWidth(350);
try {
Scene scene = new Scene(root, 350, 400);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
Label label = new Label("Welcome to sudoku puzzle world!");
label.setLayoutX(5);
label.setLayoutY(50);
label.setPrefHeight(60);
label.setPrefWidth(330);
root.getChildren().add(label);
Button new_game = new Button("NEW GAME");
new_game.setLayoutX(100);
new_game.setLayoutY(140);
new_game.setPrefHeight(60);
new_game.setPrefWidth(140);
new_game.setOnMouseClicked(new EventHandler<MouseEvent>()
{
public void handle(MouseEvent t) {
// HOW TO OPEN THE Sudoku.java INSIDE HERE
}
});
root.getChildren().add(new_game);
Button continue_game = new Button("CONTINUE GAME");
continue_game.setLayoutX(100);
continue_game.setLayoutY(220);
continue_game.setPrefHeight(60);
continue_game.setPrefWidth(140);
root.getChildren().add(continue_game);
}
public static void main(String[] args) {
launch(args);
}
}
Sudoku.java
:
package application;
import java.util.*;
import javafx.scene.shape.Rectangle;
import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
public class Sudoku extends Application {
@Override
public void start(Stage primaryStage) {
AnchorPane root = new AnchorPane();
root.setPrefHeight(580);
root.setPrefWidth(450);
try {
Scene scene = new Scene(root, 450, 580);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
System.out.println("OPENED");
}
public static void main(String[] args) {
launch(args);
}
}