0
我想填充变量内容的Pane varPane
。实现类似于这样JavaFX:窗格上的触发器不可见/销毁
Pane varPane = new Pane();
// ..
someProperty.addListener((obsv, oldV, newV) -> {
varPane.getChildren().clear(); // Remove old Property Pane Content
Pane propPane = getNewPane(newV); // Get new content
varPane.getChildren().add(propPane); // add Content
});
产生的窗格状:
public Pane getNewPane(Object newV){
Pane myPane = new Pane();
// Add dummy Content
myPane.getChildren().add(new Label(newV.toString()))
// Here I need some listener
// somthing like [not working]:
myPane.setOnClosed(System.out.println("Pane closed: " + newV.toString());
return myPane;
}
如上所示,我需要进行一些清理后的窗格中不再使用。但是我找不到纠正这种倾听者的方法。
- 的
varPane
内容发生变化,旧的窗格是不可见的了,或者 - 如果
varPane
被破坏(在如Platform.exit()
)
听者应,如果被触发
我可以要求在这些事件中调用一个函数进行清理。不过,我认为如果窗格自己检测到这样的事件会更安全。