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

JavaFX在第一个窗口之后显示第二个窗口,javafx,Javafx,我想打开主窗口,然后,在主窗口打开后的瞬间,打开拨号窗口(我在其中选择一些参数),而无需单击或键入任何内容拨号窗口必须按此方式打开。我应该在哪里写代码,哪个打开拨号窗口?您可以使用该属性。EventHandler被调用用于显示的WINDOW\u事件,正如人们所期望的那样,一旦显示了WINDOW,就会触发这些事件。下面是一个小例子: import javafx.application.Application; import javafx.scene.Scene; import javafx.sce

我想打开主窗口,然后,在主窗口打开后的瞬间,打开拨号窗口(我在其中选择一些参数),而无需单击或键入任何内容拨号窗口必须按此方式打开。我应该在哪里写代码,哪个打开拨号窗口?

您可以使用该属性。
EventHandler
被调用用于显示的
WINDOW\u
事件,正如人们所期望的那样,一旦显示了
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();
  }

}

阅读api文档似乎已不再使用;)这很简单:转到在线fx java文档,在搜索字段中键入“Window”,开始阅读可用的方法/属性,然后编写一个小代码示例,尝试使用您发现的内容…非常感谢,也许您可以建议我,我可以在initialize()中编写方法showDialog(窗口所有者)吗主控制器的方法?你可以,但你可能不想。调用
fxmloader
load
方法之一时调用
initialize
方法。这意味着生成的
节点
树尚未添加到
场景
或扩展到
窗口
。并且,在典型的实现中,在显示窗口之前调用该方法。但是,您可以在控制器上公开一个方法,您可以从
应用程序调用该方法。您可以通过在
onShown
处理程序中调用方法来实现这一点。