JavaFX在第一个窗口之后显示第二个窗口

时间:2018-12-16 10:43:41

标签: javafx

我要打开主窗口,然后在打开主窗口后立即打开Dialouge窗口(我在其中选择一些参数),无需单击或键入任何内容拨号窗口必须以此方式打开。我应该在哪里编写代码,打开Dialouge窗口?

1 个答案:

答案 0 :(得分:1)

您可以使用Window.onShown属性。 EventHandlerWINDOW_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();
  }

}