Как открыть функцию запуска другого класса из функции запуска текущего класса в Java FX? - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь сделать игру судоку, используя 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...