2017-08-17 2 views
0

Je ne parviens pas à lier mon fichier .fxml. Aussi je suis nouveau à Java et n'ai pas compris comment lier des choses et ainsi de suite. Bien sûr, j'ai essayé de chercher une réponse à google, mais je ne suis pas allé loin.Définition de l'URL de mon fichier .fxml

c'est mon fichier

public class loadingWindowTest extends Application{ 

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

@Override 
public void start(Stage loadingWindowStage) throws Exception { 
    try{ 
     FXMLLoader loadLoadingWindow = new FXMLLoader(); 
     loadLoadingWindow.setLocation(getClass().getResource("de.skullbro.pong.windows.loadingWindow.loadingWindow.fxml")); 
     loadLoadingWindow.setController("de.skullbro.pong.windows.loadingWindow.loadingWindowController"); 
     Parent root = loadLoadingWindow.load(); 

     Scene scene = new Scene(root,(getSystemInformation.screenWidth * 0.5), (getSystemInformation.screenHeight * 0.5)); 

     loadingWindowStage.setScene(scene); 
     loadingWindowStage.show();   
    } 
    catch(Exception e){ 
     if(debug.DebugInformation()){ 
      Alert alert = new Alert(AlertType.ERROR); 
      alert.setTitle("Fehler"); 
      alert.setHeaderText(""); 
      alert.setContentText(e.toString()); 
      alert.show();    
     } 
     else{ 
      Alert alert = new Alert(AlertType.ERROR); 
      alert.setTitle("Upps..."); 
      alert.setHeaderText("Something went wrong."); 
      alert.setContentText("Please try to restart your Game. If this doesn't fix it contact the Developers"); 
      alert.show(); 
     } 
    } 

}} 

Mon erreur est: Loaction est pas défini

Qu'est-ce que je fais mal? Je ne suis pas sûr de mon loadingWindow.setlocation()


ne le fait le travail:

loadLoadingWindow.setLocation(getClass().getResource("de/skullbro/pong/windows/loadingWindow/loadingWindow.fxml")); 

et est ici une image de mon arbre

mytree in eclipse

Et elle est l'erreur nullpointerexception que je reçois:

java.lang.NullPointerException 
at de.skullbro.pong.windows.loadingWindow.loadingWindowTest.start(loadingWindowTest.java:26) 
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863) 
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326) 
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) 
at java.security.AccessController.doPrivileged(Native Method) 
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) 
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) 
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) 
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) 
at java.lang.Thread.run(Unknown Source) 
+0

'getClass() getResource ("/de/skullbro/pong/windows/loadingWindow/loadingWindow.fxml ")' et assurez-vous que eclipse inclut le fxml dans le classpath/jar ... – fabian

Répondre

1

getResource() attend un chemin, pas une liste du paquet:

Ainsi, vous pouvez changer à:.

loadLoadingWindow.setLocation(getClass().getResource("loadingWindow.fxml")); 

Linked to

+0

Laissez-nous [continuer t sa discussion dans le chat] (http://chat.stackoverflow.com/rooms/152228/discussion-between-azro-and-daneubi). – azro