我有一个用AWT编写的程序,所以我使用的是Frame (不是JFrame/Swing)。我正在通过ActionListeners使用MenuItem对象来做一些操作。
然而,在我的上一个MenuItem上,我想使用一个WindowListener来关闭框架(意图在不完全终止程序的情况下关闭框架)。
我知道MenuItem文档没有addWindowListener()方法。但是有没有办法绕过这一点呢?
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
f.dispose();
}});这几乎就是我想要做的,但是来自MenuItem。
发布于 2012-08-22 08:43:00
窗口侦听器并不是关闭窗口--它是一组回调,当窗口执行特定的操作时会发生这些回调。从Javadoc
当窗口的状态因打开、关闭、激活或停用、图标化或取消图标化而发生更改时,将调用侦听器对象中的相关方法,并将WindowEvent传递给该方法。
windowClosing具有以下Javadoc:
void windowClosing(WindowEvent e)
当用户尝试从窗口的系统菜单关闭窗口时调用。
如果您希望在有人单击菜单项时以编程方式关闭窗口,则只需添加一个包含以下内容的操作侦听器:
f.setVisible(false);
f.dispose();https://stackoverflow.com/questions/12064950
复制相似问题