web-dev-qa-db-ja.com

Java withJavaFXでコマンドライン引数を使用する

私は次のコードを持っています:

public class Main extends Application {

  @Override
  public void start(Stage primaryStage) throws Exception{
      Parent root = FXMLLoader.load(getClass().getResource("Hive.fxml"));
      primaryStage.setTitle("Hive-viewer");
      primaryStage.setScene(new Scene(root, 1600, 900));
      primaryStage.show();
  }


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

ControllerまたはMainクラスのメソッドで(コマンドラインで指定された)ファイルをどのように使用するか知りたい

12
Karatawi

getParameters を試してください。これにより、コマンドライン引数が提供されます

小さな例を望みました(私はRaphaelの答えからメインコードを取りました)

コントローラクラスの名前が「MyController」であると仮定します

public class Main extends Application {

 @Override
 public void start(Stage primaryStage) throws Exception{

    FXMLLoader loader=new FXMLLoader(getClass().getResource("Hive.fxml"));
    Parent root = loader.load();
    MyController cont=load.getController();
    /*
      This depends on your controller and you have to decide 
      How your controller need the arguments
    */
    cont.setParameter(getParameters()); 

    primaryStage.setTitle("Hive-viewer");
    primaryStage.setScene(new Scene(root, 1600, 900));
    primaryStage.show();
 }


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