私は2つのステージを持っています.1つはメインステージで、もう1つはポップアップスクリーンです。ポップアップ画面が表示されたら、左上(またはOSによっては右上)にある「x」を押して閉じることができます。ポップアップ画面を閉じるたびにメインステージを閉じる方法はありますか?ポップアップを閉じた後にプラットフォームを閉じる| JavaFX
答えて
Stage
およびPopup
は、Window
からonHidden
propertyを継承する。これは、ウィンドウが隠された直後(任意のメカニズムによって)呼び出されるハンドラです。あなたは、アプリケーションを終了するために、ハンドラでPlatform.exit()
を呼び出すことができます。
popup.setOnHidden(event -> Platform.exit());
Platform.exit()
は、一般的にSystem.exit(0)
に好適であることに注意してください:あなたがいずれかをバイパスして、System.exit(...)
はApplication
のstop()
メソッドが呼び出されることを許可しません呼び出しますアプリケーションが実行しているリソースのクリーンアップ。
一般に、 'Platform.exit()'と 'System.exit(...)'の間でどちらを使うのが良いですか?私はいくつかのStackoverflowの質問を読んで、[一部の人](http://stackoverflow.com/questions/14938279/javafx-application-still-running-after-close)が両方を使用していることがわかりました。そして、それらのうちのいくつかはそれを使うのに興味がないので、いつかはうまくいかないかもしれません。 –
ありがとう、これは仕事をした! – Karatawi
イベント名はsetOnCloseRequest
です。 Alert
ポップアップウィンドウを開いている場合。
Alert popup = new Alert(AlertType.INFORMATION);
次に、あなたのソリューションは、次のとおりです。
エルスalert.setOnCloseRequest(new EventHandler<DialogEvent>()
{
@Override
public void handle(DialogEvent t)
{
System.exit(0);
}
});
あなたはそれの所有者と別のウィンドウを閉じたい場合は、ちょうどそれがstage
だ使うとWindowEvent
でDialogEvent
を交換してください。
'onCloseRequest'はここで使用する正しいイベントではありません。ウィンドウを閉じるための「外部」要求がある場合にのみ呼び出されます。通常これはユーザーがネイティブウィンドウの閉じるボタンを押すことを意味します。要求を拒否することができます。この場合、ウィンドウが閉じなくても 'onCloseRequest'ハンドラが呼び出されます。 –
- 1. フォームが閉じられた後にコンソールウィンドウを閉じる方法
- 2. ブートストラップ閉じる閉じる閉じる閉じる閉じる閉じる閉じる次へ進む
- 3. ファイアウォール拡張子から閉じた(閉じた後に)
- 4. 閉じる閉じる前に変更を保存閉じる
- 5. jqueryでポップアップを閉じるには
- 6. AHK:ポップアップ時にウィンドウを閉じる
- 7. ポップアップが閉じない
- 8. JavaFX 2.0:ステージを閉じる(ウィンドウ)
- 9. Twitter Bootstrap Popovers閉じるときに閉じる閉じる
- 10. 小さな箱を閉じるポップアップ
- 11. Angular JSでモーダルブートストラップのポップアップを閉じる
- 12. asp.net/jqueryのmouseoutでポップアップを閉じる
- 13. セッションの終了時に閉じるポップアップ
- 14. 非モーダルダイアログを閉じて閉じる
- 15. アプリを完全に閉じた後、gcm
- 16. mvim最後のタブを閉じるウィンドウを閉じたくない
- 17. スクロール時にポップアップが閉じない
- 18. 閉じるポップアップdivのJavaScriptヘルプ
- 19. ビジュアルスタジオ2010閉じる閉じる
- 20. JQueryのUIダイアログ - 閉じた後に前に閉じ込めます(Chromeのみ)
- 21. ブラウザで通知されたフラッシュプレイヤーページを閉じる/閉じる(as3)
- 22. 3秒後にポップアップウィンドウを閉じる
- 23. 遅延の後にダイアログを閉じる
- 24. [x]秒後にDelphiダイアログを閉じる
- 25. 保存後にポップアップビジュアルフォースウィンドウを閉じる
- 26. jQueryで閉じたdivを閉じるslideToggle
- 27. メインプログラムを閉じずにjframeを閉じるには?
- 28. FB.login()IE8でポップアップが閉じない
- 29. Featherlight divを閉じるときに閉じる
- 30. SonarLintのプロンプト "閉じてこの 'FileReader'を閉じたときfinallyブロックで実際に閉じたとき
クローズフック( 'popup.setOnCloseRequest(...)')で 'Platform.exit()'を呼び出します。 – Ironcache
'onCloseRequest'は本当に正しいイベントではありません。ユーザーがポップアップの閉じるボタンをクリックしたときに呼び出されます。それはその時点で拒否することができるので、ポップアップは本当に閉じることはできません。 'onHidden()'を使うべきです。 –