JavaFx-结束对话框don';我不想出现
我正在开发一个游戏应用程序,它需要一个游戏结束对话框。 我尝试了好几种方法,但都没能找到工作 我的游戏算法的方法在一个单独的线程上运行。 在完成游戏后,在该线程中,我尝试调用(在JavaFx-结束对话框don';我不想出现,java,multithreading,dialog,javafx,scene,Java,Multithreading,Dialog,Javafx,Scene,我正在开发一个游戏应用程序,它需要一个游戏结束对话框。 我尝试了好几种方法,但都没能找到工作 我的游戏算法的方法在一个单独的线程上运行。 在完成游戏后,在该线程中,我尝试调用(在游戏场景的类中)如getChildren().add(endDialog),但什么也没发生。如果我将它添加到它的构造函数中,而不是游戏线程的end putgetChildren.get(0).toFront(),仍然没有发生任何事情 有什么建议吗 编辑 找到了一种可行的方法,但它不是那么完美: setOnMouse
游戏场景
的类中)如getChildren().add(endDialog)
,但什么也没发生。如果我将它添加到它的构造函数中,而不是游戏线程的end putgetChildren.get(0).toFront()
,仍然没有发生任何事情
有什么建议吗
编辑
找到了一种可行的方法,但它不是那么完美:
setOnMouseMoved(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent t) {
if(ended) {
getChildren().add(new EndDialog());
getChildren().get(25).setOpacity(0.7);
}
}
});
setOnMouseMoved(新的EventHandler(){
@凌驾
公共无效句柄(MouseEvent t){
若果(完){
getChildren().add(newenddialog());
getChildren().get(25).setOpacity(0.7);
}
}
});
它唯一的问题是,在我完成播放后,我必须再次移动鼠标才能显示对话框
如何及时捕获
结束
字段的值?您使用了哪种线程
在JavaFX中,您必须使用classe来正确地执行操作,并且不要让freez成为GUI的东西
在这个服务中,你有一个onSucceeded字段,所以如果你听它,你可以在它完成工作后做你想做的事情
你可以去看一看
如果你想要漂亮的对话,请看一下我同意上面的说法。虽然没有提到或,但要执行所有线程操作,您应该在JavaFX应用程序中使用其中一个。主要区别在于,您可以与JavaFX应用程序线程进行对话,这在API中是不可能的。