2017-07-07 5 views
-2

JavaとSwingを使用して分散型の同時ゲームをオンラインにしています。ユーザーが[x]を押してウィンドウを閉じると、プレイヤーのアイコンをゲームゾーンから削除したいと思います。プロセスを終了する前に、関数を実行するVMにどうすればいいですか?[x]を押すとコードを実行する

+0

どのような試行ですか?あなたが提供できるコードはどれですか? – AscendedKitten

答えて

2

JFrameを使用していると仮定すると、デフォルトのクローズ操作はDO_NOTHING_ON_CLOSEとなり、WindowListenerを追加するとwindowClosingに反応します。

この方法では何が必要なのかを実行してから、実際にウィンドウを閉じるにはdisposeとするだけです。

注:これは、彼女/彼は本当に終了したい場合、ユーザーに依頼することもを使用することができます...

0

あなたはJFrameのを使用している場合は、私が説明したように、あなたがより良い自分自身のKeyEventDispatcherを書くべきだと思いますその投稿:Unresponsive KeyListener for JFrame JFrameにKeyListenerを追加するだけで、選択可能なコンポーネントが配置されている場合は、これらのコンポーネントすべてにリスナーを再帰的に追加する必要があります。

誰かがxを押した後、JFrameのdispose関数を呼び出すと検出できます。 JFrameにWindowListenerを追加する場合は、フレームが閉じる前に呼び出されるwindowClosingメソッドにいくつかのコードを記述することができます。

関連する問題