0

我有一个用 AWT 编写的程序,所以我使用的是 Frame(不是 JFrame/Swing)。我正在使用 MenuItem 对象通过 ActionListeners 进行一些操作。

但是,在我的最后一个 MenuItem 上,我想使用 WindowListener 来关闭框架(打算在不完全终止程序的情况下关闭框架)。

我知道 MenuItem 文档没有 addWindowListener() 方法。但是有没有办法解决这个问题?

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

这几乎是我想要做的,但来自一个 MenuItem。

4

1 回答 1

2

窗口侦听器不是要关闭窗口——它是一组在窗口执行特定操作时发生的回调。从Javadoc

当窗口的状态因打开、关闭、激活或停用、图标化或去图标化而发生变化时,将调用侦听器对象中的相关方法,并将 WindowEvent 传递给它。

windowClosing具有以下 Javadoc:

void windowClosing(WindowEvent e)
当用户尝试从窗口的系统菜单关闭窗口时调用。

如果您想在有人单击菜单项时以编程方式关闭窗口,则只需添加一个带有以下内容的操作侦听器:

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