如何使用JFoenix-JAVAFX

时间:2018-06-19 16:47:24

标签: javafx dialog jfoenix

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

功能:

@FXML
public StackPane stack;

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

堆栈窗格是使用JavaFX Scene构建器创建的,它是rootPane的子元素,rootPane是锚定窗格

1 个答案:

答案 0 :(得分:0)

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

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();
}

这应该可以完成工作。