背景
我有一个Swing应用程序。我运行嵌入在 Swing 应用程序中的JavaFx。我在JavaFx应用程序中运行 Web 浏览器 ( webview ) 。我添加了一个处理程序来接收网络浏览器的功能。此处理程序在JavaFx事件线程中调用。处理程序是同步的,并返回给webview。confirmboolean
问题
要向用户打开Swing对话框,我需要在Swing事件线程上运行,但仅在响应对话框后从 JavaFx 回调中返回。
这是我的回调示例
engine.setConfirmHandler(()->{
// in JavaFX context
CountdownLatch latch = new CountdownLatch(1);
SwingUtilities.invokeLater(()->{
// in Swing context
showModalDialog();
latch.countDown();
});
// Wait for latch
// HOW DO I BLOCK HERE AND STILL PROCESS EVENTS IN JAVAFX/SWING?
return result;
});
题
如何延迟从回调返回,直到对话框关闭,同时不阻止JavaFX或Swing上下文中的UI 事件?
MMTTMM
相关分类