Я превращаю настольную игру в компьютерную игру с использованием Java.У меня игра полностью запускается через консоль оболочки с вводом и выводом через оболочку.Я сейчас пытаюсь реализовать графический интерфейс для обработки ввода и вывода.Я впервые работаю с FXML или любыми компонентами графического интерфейса.Я пытаюсь реализовать подход Model View Controller для достижения этой цели, и я планирую использовать Scene Builder для генерации своего кода FXML.Я прошел несколько уроков по этому вопросу и считаю, что мой код настроен правильно для загрузки файла .fxml и связывания файла с контроллером.Вот мой код FXML:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<VBox prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml"
fx:controller="com.DeadWood.Controller">
<Label text="I love bacon"/>
<Button text="Submit"/>
</VBox>
Вот мой основной класс
public class Game extends Application implements EventHandler<ActionEvent>{
private Stage window;
private AnchorPane rootLayout;
public static void main(String[] args){
System.out.println("Welcome to DeadWood!");
System.out.println("This is a shell based implementation of a board game and all user input will be in the form of an integer.");
System.out.println("Enjoy!");
System.out.println("-------------------------");
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception{
try{
Parent root = FXMLLoader.load(getClass().getResource("View.fxml"));
this.window = primaryStage;
this.window.setTitle("DeadWood");
Scene scene = new Scene(root);
this.window.setScene(scene);
this.window.show();
}catch (Exception e){
e.printStackTrace();
}
, а вот контроллер
public class Controller implements Initializable {
@Override
public void initialize(URL location, ResourceBundle resources) {
System.out.println("View is now open!");
}
}
Проблема, с которой я сталкиваюсь всегдаЯ запускаю программу, окно появляется только с заголовком и зависает.Когда я нажимаю на окно, я получаю (не отвечает), и оно совершенно не поддается взаимодействию. Это выглядит так
Если я использую ту же логику в новом проекте IntelliJ, он прекрасно загружает окно, поэтому я считаю, что все мои программы, jdks, версии обновлены.Я не уверен, что является причиной этого, и любой вклад будет высоко ценится.