我搜索的示例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
,否则将其设置为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的功能有关更多信息,请查看github上的Java Controller JFoenix/Dialog Container和FXML文件JFoenix/JFXDialog.fxml上的演示。
这也是包含
JFXDialog
和JFXDialogLayout
JFoenix/controls的控件的源代码我建议您以Java,FXML和CSS文件的形式编写JavaFX应用程序。 Why Use FXML