3
サブフォルダからfxmlをロードしようとしていますが、失敗します。イベントハンドラを含むfxmlファイルをロードするJavaFX 2.0が失敗する
private Parent replaceSceneContent(String fxml) throws Exception {
Parent page = (Parent) FXMLLoader.load(App.class.getResource("skinFolder/fxml/"+fxml), null, new JavaFXBuilderFactory());
Scene scene = stage.getScene();
if (scene == null) {
scene = new Scene(page, 700, 450);
scene.getStylesheets().add(App.class.getResource("skinFolder/css/defaultSkin.css").toExternalForm());
stage.setScene(scene);
} else {
stage.getScene().setRoot(page);
}
stage.sizeToScene();
return page;
}
は、私は次の方法でこの機能を使用します:私は交換するシーンの内容を作るラインを持っている
javafx.fxml.LoadException: Method processLogin() does not have the correct signature for an event handler.
at javafx.fxml.FXMLLoader$Element.processEventHandlerAttributes(Unknown Source)
at javafx.fxml.FXMLLoader$ValueElement.processEndElement(Unknown Source)
at javafx.fxml.FXMLLoader.processEndElement(Unknown Source)
at javafx.fxml.FXMLLoader.load(Unknown Source)
at javafx.fxml.FXMLLoader.load(Unknown Source)
at Main.App.replaceSceneContent(App.java:115)
at Main.App.gotoLogin(App.java:108)
at Main.App.start(App.java:72)
at com.sun.javafx.application.LauncherImpl$5.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl$4.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl$3.run(Unknown Source)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
at com.sun.glass.ui.win.WinApplication$2$1.run(Unknown Source)
at java.lang.Thread.run(Thread.java:722)
:
private void gotoLogin() {
try {
replaceSceneContent("login.fxml");
} catch (Exception ex) {
Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex);
}
}
問題は、私は次のエラーを得たことです
誰も私が修正する必要がある何かのideeaを持っているので、私はこのシーンコンテンツを置き換えることができますか?あなたはこのようにFXMLファイル内Button
のアクションを定義する場合
おかげ
は、私はすでにことを持っていたが、その間、私はunistallingとのJavaFX 2.0を再インストールすることにより、私の問題を解決するために管理:
processLogin
の署名を注意してください!これらの答えを読んでいる人のためのヒントは上記のアドバイスに従ってください。これがうまくいかない場合は、JavaFX 2.0 SDKをアンインストールして再インストールしてみてください。 –