| ログイン | ご入会 |
ADC連絡先
|
|
Q: 私の Java 1.4 アプリケーションは、handleAbout メソッドを使った ApplicationListener を提供していますが、アプリケーションメニューから「About MyApp」が選択されたときに、独自のバージョン表示ボックスは表示されず、依然としてデフォルトのボックスが表示されます。 なぜでしょうか?A: ここでの問題は、 以下に、正しい リスト 1. setHandled(true) を使ってデフォルトの aboutBox の表示を抑制
public void handleAbout(ApplicationEvent e) {
new AboutBox().show();
// eAWT に、デフォルトのバージョン表示ボックスを無効にしてこのリクエストを処理したことを伝える
e.setHandled(true);
}
リスト 2. setHandled(true) を使って終了を承認
public void handleQuit(ApplicationEvent e) {
cleanupResources();
// 終了リクエストが処理され、アプリケーションの終了を始める
e.setHandled(true);
}
たとえば終了処理を完全に制御し、自分自身で リスト 3. setHandled(true) を使って終了を拒否
public void handleQuit(ApplicationEvent e) {
// 終了リクエストを拒否して適切と思われるとおりに処理
e.setHandled(false);
String msg = "Are you sure you want to quit?"
int result = JOptionPane.showConfirmDialog(mainFrame, msg);
if (result == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
注意: この Q&A では、Mac OS X の Java 1.4.1 で導入された eAWT API について取り上げています。 For information on quit events in Java 1.3 での終了イベントについては、テクニカル Q&A 1187 を参照してください。 注意: バージョン表示イベントと終了イベントは、唯一処理を必要とする eAWT イベントです。 ドキュメントの改訂履歴
掲載日: 2004-08-31 |