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
处理程序中调用方法来实现这一点。