Java FX WebView
JFrameにを追加するコードがあります。これはうまくいきます。Platform.exit()
ユーザーが特定のWebサイトにアクセスしたら、最初にを呼び出してから、を呼び出して、このJFrameをプログラムで閉じようとしていframe.dispose()
ます。WebView
が開始されたのと同じスレッドからこのメソッドを呼び出す限り、これは正常に機能します。
しかし、これは私が避けようとしていることです。次のコード(http://pastebin.com/kAjweLi5)を検討してください。このコードは、URLが変更されたときにプログラムをシャットダウンしようとします。ただし、これにより次のようになります。
IllegalStateException:ツールキットが実行されていないときにdeferを呼び出そうとしました(stacktrace)
exit()
更新:私の(非常に限られた)デバッグ知識を使用して、メソッドが正常に実行されているように見えることに気付きました。スタックの画像:
(黄色の線を実行するとエラーが発生します)
上記の例外を取得せずに、別のスレッド/クラスからJFrameを閉じるにはどうすればよいですか?