NullPointerException при изменении сцены javaFX

У меня есть две сцены в моем проекте javaFx .. первая Language.fxml имеет кнопку, которая при нажатии меняет сцену на allDevices.fxml .. но выдает NullPointerException с сообщением «Требуется местоположение», хотя оба файла fxml находятся на одном пути !!

это мой LanguageController.java

package astrolabe;

import java.net.URL;
import java.util.ResourceBundle;

import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;

/**
 *
 * @author Ahmed Fawzy
 */
public class LanguageController implements Initializable {

    @FXML
    private Button arabic ;


    @Override
    public void initialize(URL url, ResourceBundle rb) {
        // TODO
        arabic.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                // TODO Auto-generated method stub

                try{
                    Node node=(Node) event.getSource();
                    Stage stage=(Stage) node.getScene().getWindow();
                    Parent root = FXMLLoader.load(getClass().getClassLoader().getResource("allDevices.fxml"));/* Exception */
                    Scene scene = new Scene(root);
                    stage.setScene(scene);
                    stage.show();
                }
                catch(Exception ex)
                {
                    ex.printStackTrace();
                }

            }
        });


    }

person Fawzinov    schedule 30.09.2014    source источник
comment
Запишите URL-адрес, который вы получаете с помощью System.out.println(getClass().getResource("allDevices.fxml").toExternalForm());, чтобы увидеть, дает ли он вам то, что вы ожидаете.   -  person James_D    schedule 30.09.2014
comment
@James_D при добавленииSystem.out.println(getClass().getResource("allDevices.fxml").toExternalForm());‌​ у меня возникла синтаксическая ошибка !!   -  person Fawzinov    schedule 30.09.2014
comment
Введите его: похоже, что копирование и вставка каким-то образом включают некоторые невидимые символы, которые сбивают с толку парсер.   -  person James_D    schedule 30.09.2014
comment
@James_D file:/D:/museum/Astrolabe/build/classes/astrolabe/allDevices.fxml как и ожидалось   -  person Fawzinov    schedule 30.09.2014


Ответы (1)


Проблема решена путем добавления имени пакета перед именем файла fxml!

person Fawzinov    schedule 30.09.2014