javafx - 如何在JavaFX中使用JFoenix的JFXDialog创建对话框

标签 javafx

我搜索 的示例jfoenix jfxdialog 任何人都有这个的工作演示

JFXDialog dialog = new JFXDialog();  

最佳答案

JFXDialog有三个不同的构造函数:

  • JFXDialog() ,
  • JFXDialog(StackPane dialogContainer, Region content, DialogTransition transitionType)
  • JFXDialog(StackPane dialogContainer, Region content, DialogTransition transitionType, boolean overlayClose)

  • 第一个只是设置 animationTypeCenter .

    第二个设置父( dialogContainer )、内容( content )和动画类型( transitionType )。

    第三个设置与第二个相同 + 如果单击覆盖 (overlayClose) 时对话框应该关闭。

    对于 Dialog 的父级,您需要一个 StackPane .

    对于内容,您可以使用任何 Region 的子、孙、... .我建议你使用 JFXDialogLayout随着它的延伸 StackPane并可以更轻松地为您的对话设置样式。

    对于 transitionType你有五个不同的:
  • DialogTransition.TOP
  • DialogTransition.RIGHT
  • DialogTransition.BOTTOM
  • DialogTransition.LEFT
  • DialogTransition.CENTER

  • 如果您想通过单击覆盖集来关闭它 overlayClosetrue , 否则设置为 false
    一些有用的方法JFXDialog已:
  • setDialogContainer(StackPane dialogContainer)设置父级。
  • setContent(Region content)设置对话框的内容。
  • setOverlayClose(final boolean overlayClose)您可以通过单击覆盖设置是否要关闭对话框。
  • show(StackPane dialogContainer)显示 JFXDialog在给定的 StackPane
  • show()显示 JFXDialog在其父
  • close()关闭 JFXDialog
  • setTransitionType(DialogTransition transition)设置 DialogTransition到前面提到的其中之一
  • setOnDialogClosed(EventHandler<? super JFXDialogEvent> handler)定义在对话框关闭时要调用的函数。关闭动画完成后会触发。
  • setOnDialogOpened(EventHandler<? super JFXDialogEvent> handler)定义打开对话框时要调用的函数。显示动画完成后会触发。

  • JFXDialogLayout只有一个空的构造函数,但包含一个 heading , bodyactions .
    JFXDialogLayout class 为所有这些部分提供了一个 setter。那些是:
  • setHeading(Node... titleContent
  • setBody(Node... body)
  • setActions(Node... actions)

  • 如果你不知道,因为 Node 后面的三个点您可以向所有三个部分添加无限节点。这是一个名为 Varargs 的功能

    有关更多信息,请查看 github 上 Java Controller JFoenix/Dialog Container 上的演示。并在 FXML 文件 JFoenix/JFXDialog.fxml

    这里还有包含 JFXDialog 的控件的源代码和 JFXDialogLayout JFoenix/controls

    我建议您编写 JavaFX 应用程序,将它们分隔为 Java、FXML 和 CSS 文件。 Why Use FXML

    关于javafx - 如何在JavaFX中使用JFoenix的JFXDialog创建对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38830883/

    相关文章:

    java - 使用 OpenJFX 的 javafx 应用程序缺少标题栏

    java - 如何使用 JavaFX GUI 显示数组的内容

    JavaFx SceneBuilder 2.0 不解析自定义控件

    JavaFX 2 媒体兼容性?

    java - 如何使我的 ImmutableList 在其 ObservableList 包装器中可排序?

    javafx - 在JavaFX中播放YouTube视频

    css - 如何设置菜单按钮和菜单项的样式

    testing - 在 testfx 中启用失败测试的屏幕截图功能

    java - 我应该使用单例作为程序状态吗?

    java - 如何使用 Bazel 运行 JavaFX 程序?