0

javafx には onclickaction 、 ondragaction などがありますが、アプリケーションの起動時にアクションを実行する onstartupaction のようなものが見つかりません

4

1 に答える 1

0

アプリケーションのライフサイクルのインスタンスについては、 Application javadocを参照してください。アプリケーションが起動すると、そのstart メソッドが呼び出されます。

fxml の初期化は、アプリケーションの起動とは異なります。1 つのアプリケーションに多数の fxml ドキュメントが何度もロードされ、そのたびに新しいコントローラーのインスタンスが作成され、初期化メソッドが呼び出されるためです。これについては、Introduction to FXML ドキュメント の @FXML Controllers セクションで説明されています。

次のコントローラでは、initialize メソッドが FXMLLoader によって呼び出されます。コントローラー クラスを参照する FXML ドキュメントをロードするたびに、ローダーは新しいコントローラー インスタンスを作成し、その上で初期化を呼び出します。

public class MyController implements Initializable {
  @FXML private Button button;

  @FXML
  protected void initialize()
    button.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
            System.out.println("You clicked me!");
        }
    });
  }
}
于 2013-07-19T17:47:54.933 に答える