私は現在、小さなアプリケーションをSwingからJavaFXに再コーディングしています。これは、現在Web用に持っているものをデプロイする最も簡単な方法のように思えたためです。
私は非常に単純なことをすることができないようで、ドキュメントや他の投稿で迷子になっています:
とにかく、関連するFXMLファイルを呼び出すメインコントローラーがあります。
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("Login.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
これで、Login.fxmlからボタンがあり、そのボタンで別のFXMLファイルを開くことができます。ボタンを正常にロードすることはできますが、多くのことを試しましたが、機能しません。私はこのようなことを試みています:
private void handleButtonAction(ActionEvent event){
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("GeneradorBases.fxml"));
// fxmlLoader.setRoot(this);
// fxmlLoader.setController(this);
try {
fxmlLoader.load();
}
catch (IOException e){
throw new RuntimeException(e);
}
}
Stackoverflowでここで見た例に従おうとしました。基本的に、.setRootと.setControllerはアプリケーションをクラッシュさせます。.load()でもそれを行います。
これを機能させる方法について何かアドバイスはありますか?