我搜索的示例jfoenix jfxdialog 有人对此有工作演示

JFXDialog dialog = new JFXDialog();

最佳答案

JFXDialog具有三种不同的构造函数:

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

  • 第一个只是将animationType设置为Center

    第二个设置了Parent(dialogContainer),content(content)和animationType(transitionType)。

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

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

    对于内容,您可以使用Region的子代,孙子代...之类的任何东西。我建议您使用JFXDialogLayout,因为它扩展了StackPane并简化了对话框的样式。

    对于transitionType,您有五个不同的代码:
  • DialogTransition.TOP
  • DialogTransition.RIGHT
  • DialogTransition.BOTTOM
  • DialogTransition.LEFT
  • DialogTransition.CENTER

  • 如果要通过单击覆盖将其关闭,请将overlayClose设置为true,否则将其设置为falseJFXDialog具有的一些有用的方法:
  • 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仅有一个空的构造函数,但包含headingbodyactions之外。
    JFXDialogLayout类为所有这些部分提供了一个setter。那些是:
  • setHeading(Node... titleContent
  • setBody(Node... body)
  • setActions(Node... actions)

  • 如果您不知道,由于Node后的三个点,您可以为这三个部分添加无限的节点。这是一个称为Varargs的功能

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

    这也是包含JFXDialogJFXDialogLayout JFoenix/controls的控件的源代码

    我建议您以Java,FXML和CSS文件的形式编写JavaFX应用程序。 Why Use FXML

    10-08 19:40