我搜索 jfoenix jfxdialog 的示例任何人都有此工作演示
JFXDialog dialog = new JFXDialog();
答案 0 :(得分:11)
JFXDialog
有三个不同的构造函数:
JFXDialog()
,JFXDialog(StackPane dialogContainer, Region content, DialogTransition transitionType)
和JFXDialog(StackPane dialogContainer, Region content, DialogTransition transitionType, boolean overlayClose)
第一个只是将animationType
设置为Center
。
第二个设置父(dialogContainer
),内容(content
)和animationType(transitionType
)。
如果单击叠加层(overlayClose
),如果对话框应关闭,则第三个设置与第二个设置相同。
对于Dialog的父级,您需要StackPane
。
对于内容,您可以使用Region
的儿童,孙子......的任何内容。我建议您使用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
,body
和actions
。
JFXDialogLayout
类为所有这些部分提供了一个setter。那些是:
setHeading(Node... titleContent
setBody(Node... body)
setActions(Node... actions)
如果您不知道,由于Node
之后的三个点,您可以向所有三个部分添加无限节点。这是一项名为Varargs
有关详细信息,请查看Java控制器JFoenix/Dialog Container和FXML文件JFoenix/JFXDialog.fxml上的github上的演示
此处还包含JFXDialog
和JFXDialogLayout
JFoenix/controls
我建议你编写分别用Java,FXML和CSS文件的JavaFX应用程序。 Why Use FXML