javafx - 如何使用 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 的子级,它是锚窗格
解决方案
尽管自您发布问题以来已经发生了一段时间,但这些天其他人可能会遇到同样的问题。
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();
}
这应该可以完成这项工作。
推荐阅读
- c# - 使游戏对象坚不可摧
- javascript - 未附加 vue 注释
- ios - CorePlot - 在散点图中摆动的注释
- firebase - 是否可以从 firebase 测试实验室结果中导出 cpu 和内存使用情况?
- reactjs - 如何修复 useEffect 钩子抛出的“未捕获的 TypeError:回调不是函数”
- ios - 如何在 CollectionView 中添加业务逻辑?
- python-2.7 - 在字典中搜索
- bash - 文件名中的 Bash 脚本和空格
- excel - 查找特定列并清除其下的所有行
- javascript - 如何修复“无法读取属性‘createDocumentFragment’”