どのように保存用のオプションの前に口?
-
23-09-2019 - |
質問
って申請したい保存オプション前に終了します。(のような画面元するファイルです。)
のフレーム設定:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
どのように保存できますかオプションのもと、自分の興味のあるかい?(終了する前にコン)
よろしく!
解決
だいたい何時に停止できるフックシャットダウンをコード:
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
public void run() {
// Do what you want when the application is stopping
}
}));
しかし、このことはできないあります。が必要な場合はチェックも前のも終了、をオーバーライドすることができ windowClosing
イベント:
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
// Do what you want when the window is closing.
}
});
なお、第一ソリューションの使用を停止フックを利用すれば生産では関係のないウィンドウイベントは、実行するものがある場合、アプリケーションを停止する他のイベントを除くのはもちろん、場合にはJavaプロセスが殺害され酷).
他のヒント
きのお手伝いいたします。
第uを読み込む必要があり不動産ファイルです。 見doc
Properties properties = new Properties(); try { properties.load(new FileInputStream("filename.properties")); } catch (IOException e) { System.err.println("Ooops!"); }
第二に追加イベントハンドラを画面には、データを保存するパスファイルです。すべての必要な保存いただけるようにな物件でインスタンス店舗での口
addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { try { properties.store(new FileOutputStream("filename.properties"), null); } catch (IOException e) { } } });
ことになるすべてのいかなどを修正す)
あなたはA のWindowListener 登録することもできます>とwindowClose方法であなたの保存オプション。
そしてもちろんの
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
はわからないこれはあなたの状況に適用されるが、それはこのスレッドにサーフィンを他の人にしてもよいです。 私のアプリケーションは)(メインを持っており、最後にしばらく(!shell.isDisposed)ループを持っています。 アプリケーションを実行すると、そのループが起こっている、とアプリはループが終了することを閉じているとき、それは今までメイン方法でそれの後にあるものに低下します。 好みが変わると条件にそれらを処理している場合、私はエディタが汚れている場合のチェックを入れて、場所です。 ファイルのクローズに添付私の方法は、シェルを配置し、closeCurrent()メソッドを呼び出して誰かが「X」ウィンドウを閉じるをクリックした場合、それはここに落ちるのアイコンと何かが汚れていると私はする必要がある場合は保存する場合、私は再びチェックします。
while (!shlCpbtool.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
// exit
if(dirty){
closeCurrent();
}