Исключение в методе запуска приложения и ошибка операции FXML Scene Builder. Убедитесь, что выбранный файл является допустимым документом FXML.

Когда я создал свой графический интерфейс с помощью компоновщика сцен, он отлично работал в eclipse, и я сохранил это. И я снова открываю eclipse, тогда появляется эта ошибка. Всякий раз, когда я создаю новый проект и снова открываю eclipse/перезагружаю компьютер, он показывает мне это сообщение каждый раз. И когда я попытался открыть свой документ FXML, он говорит: «**

Не удалось открыть операцию. Убедитесь, что выбранный файл является допустимым документом FXML.

CLICK ЗДЕСЬ, ЧТОБЫ ПРОСМОТРЕТЬ СООБЩЕНИЕ ОБ ОШИБКЕ. Это сообщение, которое документ FXML показывает мне, когда я перезагружаю компьютер. Оно показывает это  для каждого времени для каждого проекта.

Пожалуйста, помогите мне Вот код

 package application;

public static void main(String[] args) {
     launch(args);
}

@Override
public void start(Stage primaryStage) throws Exception {

    Parent root = FXMLLoader.load(getClass().getResource("MyDocmnt.fxml"));
    Scene scene = new Scene(root);
    primaryStage.setTitle("My Tittle");
    primaryStage.setScene(scene);
    primaryStage.show();

}

НАЖМИТЕ ЗДЕСЬ, ЧТОБЫ УВИДЕТЬ ОШИБКУ - это ошибка, которую он показывает мне при запуске кода


person Wajahat Shah    schedule 21.10.2016    source источник
comment
1. Пожалуйста, опубликуйте трассировку стека в вопросе, а не публикуйте его снимок экрана. 2. Пожалуйста, опубликуйте код FXML.   -  person James_D    schedule 21.10.2016
comment
вам, вероятно, нужно указать пакет, в котором находится fxml. /application/MyDocmnt.fxml   -  person Nevets17    schedule 21.10.2016
comment
проверьте это stackoverflow.com/ вопросы/40367275/   -  person    schedule 14.03.2018
comment
Видеть это. stackoverflow.com/questions/40367275 / это случилось и со мной.   -  person    schedule 14.03.2018


Ответы (2)


Попробуй это:

package application;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;

    public class Main extends Application {

                @Override
                public void start(Stage primaryStage) {
                    try {
                        Parent root = FXMLLoader.load(getClass().getResource("/application/MyDocmnt.fxml"));
                        Scene scene = new Scene(root);
                        primaryStage.setTitle("My Title");
                        primaryStage.setScene(scene);
                        primaryStage.show();
                    } catch(Exception e) {
                        e.printStackTrace();
                    }
                }

        public static void main(String[] args) {
             launch(args);
        }

    }
person Nevets17    schedule 21.10.2016

Класс javafx.application.Application является абстрактным классом. И метод start() является абстрактным методом класса Application.

В Java мы должны реализовать все абстрактные методы абстрактного класса при расширении этого абстрактного класса. Здесь мы реализуем абстрактный метод (метод start()), переопределяя метод start().

Итак, попробуйте следующее:

package application;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

    public class Main extends Application{

            public static void main(String[] args) {
                 launch(args);
            }

            @Override
            public void start(Stage primaryStage) throws Exception {

                Parent root = FXMLLoader.load(getClass().getResource("MyDocmnt.fxml"));
                Scene scene = new Scene(root);
                primaryStage.setTitle("My Tittle");
                primaryStage.setScene(scene);
                primaryStage.show();

            } 
    }
person Ankit    schedule 03.03.2018