1

が設定されている場合、フレームを閉じるとタスク マネージャーでそのプロセスが終了することに気付きましたsetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)が、WindowListener を実装してフレームを手動で dispose() すると、プロセスは残ります...おそらく new Runnable() に次のようなものがあるためです。

new Runnable() {
    void run() {
    Jsch tunnel=new Jsch();
    JFrame frame=new JFrame();
    frame.addWindowListener(new WindowListener() { frame.dispose(); } ); // imagine that this is legal 
    frame.setVisible(true);
    }
}

一部のアプリケーションによって作成されたプロセスを手動で終了する方法を教えてください。

4

1 に答える 1

3

API ドキュメントから。

  • EXIT_ON_CLOSE (JFrame で定義): システム終了メソッドを使用してアプリケーションを終了します。これはアプリケーションでのみ使用してください。

そのため、終了呼び出しを強制しますSystem.exit(0);

すべての最上位ウィンドウが破棄されると、AWT イベント ディスパッチ スレッドをシャットダウンできます (必要に応じて新しいスレッドを作成できます)。プロセスにデーモン以外のスレッドが残っていない場合、プロセスは終了します。

于 2013-06-23T23:43:57.570 に答える