首页 > 解决方案 > 如何使用 JFoenix 显示对话框 - JAVAFX

问题描述

我正在尝试使用 JFoenix 在屏幕上显示一个简单的对话框,但是,每次我尝试显示时,都会出现错误,“未设置 JFXDialog 容器”我知道这意味着未显示 stackPane,所以我会想知道如何初始化 StackPane 然后显示对话框

功能:

@FXML
public StackPane stack;

public void show() {
    JFXDialog dialog = new JFXDialog();
    dialog.setContent(new Label("Content"));
    dialog.show(stack);
}

堆栈窗格是使用 JavaFX 场景构建器创建的,它是 rootPane 的子级,它是锚窗格

标签: javafxdialogjfoenix

解决方案


尽管自您发布问题以来已经发生了一段时间,但这些天其他人可能会遇到同样的问题。

JFXDialog 需要 a) JFXDialogLayout 和 b) 容器,在您的情况下是 StackPane。因此,要使其工作,您必须向您的 JFXDialog 指明容器是什么。这可以通过使用构造函数来完成JFXDialog dialog = new JFXDialog(stack, layout, JFXDialog.DialogTransition.RIGHT);。那是:

@FXML
public StackPane stack;

public void show() {
    JFXDialogLayout layout = new JFXDialogLayout();
    layout.setHeading(new Label("Header"));
    layout.setBody(new Label("Lorem ipsum"));

    JFXDialog dialog = new JFXDialog(stack, layout, 
                             FXDialog.DialogTransition.RIGHT);
    JFXDialog.DialogTransition.RIGHT);
    dialog.show();
}

这应该可以完成这项工作。


推荐阅读