私は Jython から Swing を使用してSystem.exit()
いjava.lang
ます。JFrame.setDefaultCloseOperation(EXIT_ON_CLOSE)
sys.exit()
atexit.register
どうやら、すべてのスレッドが終了するのを待つ関数が登録されているようです。これは、Python から期待されるとおりです (これは実際には Java とは異なります)。
これは、ActionListener
が呼び出された場合 (たとえば、 をクリックした場合JButton
)、AWT のイベント ディスパッチ スレッドが生成され、呼び出しsys.exit()
が永久にハングし、終了するのを待機することを意味します。
例を次に示します: https://gist.github.com/2877919。ボタンが最初にクリックされない限り、フレームを閉じるとプログラムが終了します。
Jython アプリケーションを終了する最善の方法は何ですか? EXIT_ON_CLOSE
またはを使用System.exit()
すると完全に無視されatexit
ます...