我有一些将 a 添加Java FX WebView
到 JFrame 的代码。这很好用。一旦用户访问了一个特定的网站,我就会尝试以编程方式关闭这个 JFrame,首先是调用Platform.exit()
,然后是frame.dispose()
. 只要我从WebView
启动的同一个线程调用此方法,它就可以正常工作。
但是,这是我试图避免的。考虑以下代码 (http://pastebin.com/kAjweLi5)。此代码尝试在 URL 更改时关闭程序。但是,这会导致:
IllegalStateException:在工具包未运行时尝试调用 defer ( stacktrace )
更新:使用我(非常有限的)调试知识,我意识到该exit()
方法似乎成功运行。堆栈的图像:
(黄线执行时出现错误)
如何在不出现上述异常的情况下从另一个线程/类关闭 JFrame?