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()
)
聽者應,如果被觸發
我可以要求在這些事件中調用一個函數進行清理。不過,我認爲如果窗格自己檢測到這樣的事件會更安全。