Я пытаюсь загрузить файлы fxml из папки пакета в IntelliJ, но все равно не работает. ⇐ JAVA
-
Anonymous
Я пытаюсь загрузить файлы fxml из папки пакета в IntelliJ, но все равно не работает.
У меня есть папка пакета для файлов fxml и папка просмотра для файлов Java. Когда я помещаю файлы в папку ресурсов, я могу открыть их, но тогда я не могу связать их с моим контроллером через SceneBuilder, но другим способом, когда он у меня есть. в той же папке, что и Java-файлы под названием view. Он не запускается, но позволяет мне связать контроллер через построитель сцен.
Это код: //Основной вызывается ViewHandler
просмотр пакета; импортировать javafx.application.Application; импортировать javafx.fxml.FXMLLoader; импортировать javafx.scene.Group; импортировать javafx.scene.Parent; импортировать javafx.scene.Scene; импортировать javafx.scene.image.Image; импортировать javafx.scene.paint.Color; импортировать javafx.stage.Stage; импортировать java.io.IOException; публичный класс ViewHandler расширяет приложение { @Override public void start (этап этапа) выдает IOException { пытаться { Родительский корень = FXMLLoader.load(getClass().getResource("/MainMenu.fxml")); FXMLLoader fxmlLoader = новый FXMLLoader(ViewHandler.class.getResource("MainMenu.fxml")); Сцена сцены = новая сцена(корень, Черный цвет); //получим логотип в левом верхнем углу Значок изображения = новое изображение("logo.png");//логотип должен находиться в ресурсах модуля stage.getIcons().add(значок); //установка заголовка страницы/ параметры окна stage.setTitle("Главное меню"); //stage.setFullScreen(true); stage.setScene(сцена); сцена.шоу(); } поймать (Исключение е) { е.printStackTrace(); } } public static void main(String[] args) { запуск (аргументы); } } //Контроллер
просмотр пакета; импортировать javafx.event.ActionEvent; импортировать javafx.fxml.FXML; импортировать javafx.fxml.FXMLLoader; импортировать javafx.scene.Node; импортировать javafx.scene.Parent; импортировать javafx.scene.Scene; импортировать javafx.scene.control.Button; импортировать javafx.scene.control.Label; импортировать javafx.scene.layout.AnchorPane; импортировать javafx.stage.Stage; импортировать java.io.IOException; публичный класс HelloController { частная сцена Stage; сцена частной сцены; частный родительский корень; частная кнопка cancelButton; частная сцена AnchorPane; public void switchToMainMenu (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/MainMenu.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToSelectProjectType (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/SelectProjectType.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToEditCommercial (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/EditCommercial1.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToEditIndustrial (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/EditIndustrial1.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToEditResidential (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/EditResidential1.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToEditRoadConstruction (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/EditroadConstruction1.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToViewEdit (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/ViewEdit.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToCreateCommercial (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/createCommercial.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToCreateIndustrial (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/CreateIndustrial.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToCreateResidential (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/CreateResidential.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToCreateRoadConstruction (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/CreateRoadConstruction.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } выход из системы public void (событие ActionEvent) { этап = (Этап) ScenePane.getScene().getWindow(); сцена.закрыть(); } } Ошибка с расположением моих файлов
У меня есть папка пакета для файлов fxml и папка просмотра для файлов Java. Когда я помещаю файлы в папку ресурсов, я могу открыть их, но тогда я не могу связать их с моим контроллером через SceneBuilder, но другим способом, когда он у меня есть. в той же папке, что и Java-файлы под названием view. Он не запускается, но позволяет мне связать контроллер через построитель сцен.
Это код: //Основной вызывается ViewHandler
просмотр пакета; импортировать javafx.application.Application; импортировать javafx.fxml.FXMLLoader; импортировать javafx.scene.Group; импортировать javafx.scene.Parent; импортировать javafx.scene.Scene; импортировать javafx.scene.image.Image; импортировать javafx.scene.paint.Color; импортировать javafx.stage.Stage; импортировать java.io.IOException; публичный класс ViewHandler расширяет приложение { @Override public void start (этап этапа) выдает IOException { пытаться { Родительский корень = FXMLLoader.load(getClass().getResource("/MainMenu.fxml")); FXMLLoader fxmlLoader = новый FXMLLoader(ViewHandler.class.getResource("MainMenu.fxml")); Сцена сцены = новая сцена(корень, Черный цвет); //получим логотип в левом верхнем углу Значок изображения = новое изображение("logo.png");//логотип должен находиться в ресурсах модуля stage.getIcons().add(значок); //установка заголовка страницы/ параметры окна stage.setTitle("Главное меню"); //stage.setFullScreen(true); stage.setScene(сцена); сцена.шоу(); } поймать (Исключение е) { е.printStackTrace(); } } public static void main(String[] args) { запуск (аргументы); } } //Контроллер
просмотр пакета; импортировать javafx.event.ActionEvent; импортировать javafx.fxml.FXML; импортировать javafx.fxml.FXMLLoader; импортировать javafx.scene.Node; импортировать javafx.scene.Parent; импортировать javafx.scene.Scene; импортировать javafx.scene.control.Button; импортировать javafx.scene.control.Label; импортировать javafx.scene.layout.AnchorPane; импортировать javafx.stage.Stage; импортировать java.io.IOException; публичный класс HelloController { частная сцена Stage; сцена частной сцены; частный родительский корень; частная кнопка cancelButton; частная сцена AnchorPane; public void switchToMainMenu (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/MainMenu.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToSelectProjectType (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/SelectProjectType.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToEditCommercial (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/EditCommercial1.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToEditIndustrial (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/EditIndustrial1.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToEditResidential (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/EditResidential1.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToEditRoadConstruction (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/EditroadConstruction1.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToViewEdit (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/ViewEdit.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToCreateCommercial (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/createCommercial.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToCreateIndustrial (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/CreateIndustrial.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToCreateResidential (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/CreateResidential.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } public void switchToCreateRoadConstruction (событие ActionEvent) выдает IOException { root = FXMLLoader.load(getClass().getResource("/CreateRoadConstruction.fxml")); stage = (Stage)((Node)event.getSource()).getScene().getWindow(); сцена = новая сцена (корень); stage.setScene(сцена); сцена.шоу(); } выход из системы public void (событие ActionEvent) { этап = (Этап) ScenePane.getScene().getWindow(); сцена.закрыть(); } } Ошибка с расположением моих файлов
Мобильная версия