【发布时间】:2020-06-01 05:14:59
【问题描述】:
如何在 javafx 中的 JFXSnackbar 对象上使用 .show() 方法?原因是当我在代码中使用.show() 方法时,编译器会向我显示消息".show() method is private in this library"。我使用了jfoenix-8.0.8 版本的 jfoenix。有人可以帮忙吗?
【问题讨论】:
如何在 javafx 中的 JFXSnackbar 对象上使用 .show() 方法?原因是当我在代码中使用.show() 方法时,编译器会向我显示消息".show() method is private in this library"。我使用了jfoenix-8.0.8 版本的 jfoenix。有人可以帮忙吗?
【问题讨论】:
在最新版本的 JFoenix (jfoenix-8.0.8) 中,show() 方法被有意封装或隐藏在 JFXSnackbar 类中。换句话说,JFXSnackbar 在内部处理 show()。请参阅public void enqueue(SnackBarEvent snackbarEvent) 方法。 See screenshot of it here.
要在程序中使用 JFXSnackbar,您需要创建一个新的 JFXSnackbar 对象,如下所示:
JFXSnackbar snackbar = new JFXSnackbar(rootPane);
rootPane 是显示快餐栏的窗格。
接下来,您需要创建一个 JFXSnackbar.SnackbarEvent 来描述小吃店的行为,如下所示:
final JFXSnackbar.SnackbarEvent snackbarEvent = new JFXSnackbar.SnackbarEvent(new Label("Some string to display"), Duration.seconds(3.33), null);
我为 Psuedoclass 参数使用了一个空值。仍然可以正常工作。
最后,使用 enque 方法将 JFXSnackbar.SnackbarEvent 添加到 JFXSnackbar 对象中:
snackbar.enqueue(snackbarEvent);
【讨论】: