0

I have a program written in AWT, so I am using Frame (Not JFrame/Swing). I am using MenuItem objects to do some operations through ActionListeners.

However, on my last MenuItem, I want to use a WindowListener to close the frame (intending to close the frame without terminating the program altogether).

I am aware that the MenuItem documentation doesn't have a addWindowListener() method. But is there a way around that?

f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
    f.dispose();
}});

This is pretty much what I'm trying to do, but from a MenuItem.

4

1 に答える 1

2

ウィンドウリスナーは、ウィンドウを閉じることではなく、ウィンドウが特定のことを行うときに発生する一連のコールバックです。Javadocから:

開く、閉じる、アクティブ化または非アクティブ化、アイコン化または非アイコン化によってウィンドウのステータスが変化すると、リスナー オブジェクト内の関連するメソッドが呼び出され、WindowEvent がそれに渡されます。

windowClosing次の Javadoc があります。

void windowClosing(WindowEvent e)
ユーザーがウィンドウのシステム メニューからウィンドウを閉じようとすると呼び出されます。

誰かがメニュー項目をクリックしたときにウィンドウをプログラムで閉じたい場合は、次のようにアクション リスナーを追加するだけです。

f.setVisible(false);
f.dispose();
于 2012-08-22T00:42:59.507 に答える