使 ControlFx NotificationPane 接受节点

Make ControlFx NotificationPane accept Node

ControlsFX 有一个很棒的控件,叫做 NotificationPane,可以像这样轻松使用

NotificationPane np = new NotificationPane();
np.setText("What to be displayed here");

我想知道的是,是否有可能以这样一种方式扩展它,而不是显示文本以显示 Node

您不需要扩展它。只需使用接受节点的构造函数。

http://controlsfx.bitbucket.org/org/controlsfx/control/NotificationPane.html#NotificationPane-javafx.scene.Node-

NotificationPane在构造函数中接受的Node实际上是通知出现的内容窗格,而不是通知本身的内容。

但是有一种方法可以实现您的要求。来自 JavaDocs:

The graphic property represents the Node to show within the popup notification bar that appears on top of the content that is within the NotificationPane. Despite the term 'graphic', this can be an arbitrarily complex scenegraph in its own right.

这意味着您确实可以在通知中放置复杂的节点(甚至是整棵树)。只要 Text/Action 属性为 null,它将占用所有可用的 space(或最多 preferred/max 节点本身的大小),为关闭按钮留下 space .