Javafx 2 如何在JavaFX中自动调用方法?
我有一个带有标签的场景,它显示了当前正在检查的硬件部分,因此我需要在绘制场景后自动调用“checkMethod”,如何在JavaFX中执行该操作?以下是显示场景时的操作方法:Javafx 2 如何在JavaFX中自动调用方法?,javafx-2,javafx,Javafx 2,Javafx,我有一个带有标签的场景,它显示了当前正在检查的硬件部分,因此我需要在绘制场景后自动调用“checkMethod”,如何在JavaFX中执行该操作?以下是显示场景时的操作方法: stage.setOnShown(new EventHandler<WindowEvent>() { @Override public void handle(WindowEvent arg0) { // TODO Auto-ge
stage.setOnShown(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent arg0) {
// TODO Auto-generated method stub
checkMethod();
}
});
stage.setOnShown(新的EventHandler(){
@凌驾
公共无效句柄(WindowEvent arg0){
//TODO自动生成的方法存根
检查方法();
}
});
您还有其他方法:setOnCloseRequest、setOnHidden、setOnHidden、setOnShowing
评论中提出的方案如下:
scene.windowProperty().addListener(new ChangeListener<Window>() {
@Override
public void changed(ObservableValue<? extends Window> arg0,
Window oldVal, Window newVal) {
if(oldVal != null){
oldVal.setOnShown(null);
}
if(newVal != null){
newVal.setOnShown(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent arg0) {
// TODO Auto-generated method stub
checkMethod();
}
});
}
}
});
scene.windowProperty().addListener(新的ChangeListener()){
@凌驾
public void已更改(observeValues正如我正确理解的,绘图的结尾类似于动作类型?基本上,eventhandler将“在显示窗口后立即调用”.在处理程序中,你可以做你认为是幻觉的事情,在这种情况下,调用CheckMethod你说的是舞台或场景?场景是场景图的容器,没有显示/隐藏的逻辑,该逻辑属于窗口或舞台。我想你没有正确理解我的问题。我知道场景没有显示的逻辑隐藏,但我需要它这就是我在那里写的原因。。