2017-11-21 14 views
-1

多くの人がこの問題について尋ね、このエラーについてよく知っていると私はそれを修正しようとしましたが、なぜまだ動作しないのかわかりません。 fxml.LoadExceptionを修正できます

私はこのコードを持って:

package application; 

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


public class Main extends Application { 
    @Override 
    public void start(Stage primaryStage) { 
     try { 
      Parent root = FXMLLoader.load(getClass().getResource("/application/Login.fxml")); 
      Scene scene = new Scene(root,400,400); 
      scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 
      primaryStage.setScene(scene); 
      primaryStage.show(); 
     } catch(Exception e) { 
      e.printStackTrace(); 
     } 
    } 

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

をそして私は、この "/Login.fxml" のようなのgetResourceの一部を変更しようとしました。しかし、それはまだ動作しません。

この

は、プロジェクトファイルがどのように見えるかです:FXMLは、あなたがこのような何かを行うことができます同じパスにあるので enter image description here

+0

FXMLファイルがビルドフォルダに展開されていることを確認します(IDEによって「Main.class」を持つ同じフォルダにコピーされるはずです)。また、スタックトレースを送信します。 –

+0

または少なくともエラーメッセージ。 (Stacktraceはバッターになります。)fxmlをロードするときにスローされる可能性のあるエラーは複数あります。あなたがおそらく参照している* "場所が設定されていません"というエラーは単なる1つの可能性に過ぎません。 – fabian

答えて

0

Parent root=FXMLLoader.load(getClass().getClassLoader().getResource("application/Login.fxml")); 
0

にこのライン

Parent root = FXMLLoader.load(getClass().getResource("/application/Login.fxml")); 

を変更してみてください:

Parent root = FXMLLoader.load(Main.class.getResource("Login.fxml")); 

Login.fxmlがプロジェクトのリソースとして定義され、出力ディレクトリに存在することを確認する必要があります。

関連する問題