Вы можете использовать свойство Window.onShown
.EventHandler
вызывается для WINDOW_SHOWN
событий, которые, как и следовало ожидать, запускаются после того, как было показано Window
.Вот небольшой пример:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.stage.Window;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setOnShown(event -> showDialog(primaryStage));
primaryStage.setScene(new Scene(new StackPane(new Label("Hello, World!")), 600, 400));
primaryStage.setTitle("JavaFX Application");
primaryStage.show();
}
private void showDialog(Window owner) {
Alert alert = new Alert(AlertType.INFORMATION);
alert.initOwner(owner);
alert.setContentText("This is a dialog shown immediately after the window was shown.");
alert.show();
}
}