Javafx 2.0 How-to Application.getParameters() in a Controller.java file

前端 未结 2 1478
我在风中等你
我在风中等你 2020-12-06 02:38

Considering the following sample.

How to access to arguments/parameters of the application in the controller?

Thank you.


2条回答
  •  無奈伤痛
    2020-12-06 03:17

    1. Most straightforward way -- save them in app:

    public class App extends Application {
    
      public static void main(String[] args) { launch(); }
    
      public static String parameters;
    
      @Override
      public void start(Stage primaryStage) throws Exception {
    
        parameters = getParameters().getNamed().toString();
    
        Parent root = FXMLLoader.load(getClass().getResource("MyView.fxml"));
        final Scene scene = new javafx.scene.Scene(root);
        primaryStage.setScene(scene);
        primaryStage.show();
      }
    
    }
    

    and read them in controller:

    public class MyController implements Initializable {
    
      @Override
      public void initialize(URL url, ResourceBundle rb) {
         System.out.println(App.parameters);
      }
    

    2. More complex (but better in general) approaches are described in next topics:

    • Passing Parameters JavaFX FXML
    • Multiple FXML with Controllers, share object

提交回复
热议问题