如何在javafx中创建弹出窗口
2022-09-02 00:34:33
我想在JavaFX应用程序中创建一个弹出窗口。给我一些想法。
当我点击检查按钮时,它会打开弹出窗口。怎么办?
我想在JavaFX应用程序中创建一个弹出窗口。给我一些想法。
当我点击检查按钮时,它会打开弹出窗口。怎么办?
您可以创建一个新的 ,将控件添加到其中,或者如果您需要 POPUP as 框,则可以考虑使用 DialogsFX 或 ControlsFX(需要 JavaFX8)Stage
Dialog
要创建新阶段,可以使用以下代码段
@Override
public void start(final Stage primaryStage) {
Button btn = new Button();
btn.setText("Open Dialog");
btn.setOnAction(
new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
final Stage dialog = new Stage();
dialog.initModality(Modality.APPLICATION_MODAL);
dialog.initOwner(primaryStage);
VBox dialogVbox = new VBox(20);
dialogVbox.getChildren().add(new Text("This is a Dialog"));
Scene dialogScene = new Scene(dialogVbox, 300, 200);
dialog.setScene(dialogScene);
dialog.show();
}
});
}
如果您不希望它是(阻止其他窗口),请使用:modal
dialog.initModality(Modality.NONE);
弹出类可能比 Stage 类更好,具体取决于所需的内容。Stage 要么是模式的(你无法单击应用中的任何其他内容),要么在单击应用中的其他位置(因为它是一个单独的窗口)时消失。弹出窗口保持在顶部,但不是模态的。
请参阅此弹出窗口示例。