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

Vij*_*kar 3 javafx

我搜索jfoenix jfxdialog的一个例子,任何人都有这方面的工作演示

JFXDialog dialog = new JFXDialog();  
Run Code Online (Sandbox Code Playgroud)

Nic*_*o T 11

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

  1. JFXDialog(),
  2. JFXDialog(StackPane dialogContainer, Region content, DialogTransition transitionType)
  3. JFXDialog(StackPane dialogContainer, Region content, DialogTransition transitionType, boolean overlayClose)

第一个只是设置animationTypeCenter.

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

如果单击overlay(overlayClose),如果对话框应该关闭,则第三个设置与第二个设置相同.

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

对于内容,您可以使用任何孩子,孙子,...的东西Region.我建议你使用a JFXDialogLayout扩展StackPane,并使你更容易设置对话框的样式.

因为transitionType你有五个不同的:

  • DialogTransition.TOP
  • DialogTransition.RIGHT
  • DialogTransition.BOTTOM
  • DialogTransition.LEFT
  • DialogTransition.CENTER

如果你想通过点击设置叠加将其关闭overlayClose,以true,否则将其设置为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类提供了所有这些部件二传手.那些是:

  • setHeading(Node... titleContent
  • setBody(Node... body)
  • setActions(Node... actions)

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


有关更多信息,请查看Java控制器JFoenix/Dialog Container上的github上的演示以及FXML文件JFoenix/JFXDialog.fxml

这里还包含控件的源代码JFXDialogJFXDialogLayout JFoenix/controls

我建议你编写分别用Java,FXML和CSS文件编写的JavaFX应用程序.为何使用FXML