Java 为什么赢了';此侦听器是否检测到窗口关闭事件?

Java 为什么赢了';此侦听器是否检测到窗口关闭事件?,java,swing,events,awt,windowlistener,Java,Swing,Events,Awt,Windowlistener,我试图通过WindowsStateListener在单个帧上侦听事件 import java.awt.Frame; import java.awt.Label; import java.awt.event.WindowStateListener; import java.awt.event.WindowEvent; public class UserInterface implements WindowStateListener { public static void main(f

我试图通过
WindowsStateListener
在单个
帧上侦听事件

import java.awt.Frame;
import java.awt.Label;

import java.awt.event.WindowStateListener;
import java.awt.event.WindowEvent;

public class UserInterface implements WindowStateListener
{
    public static void main(final String[] arguments)
    {
        UserInterface userInterface = new UserInterface();
    }

    public UserInterface()
    {
        Frame frame = new Frame("Graphics Example");
        frame.addWindowStateListener(this);
        frame.add(new Label("Hello, world!");
        frame.pack();
        frame.setVisible(true);
    }

    public void windowStateChanged(WindowEvent event)
    {
        System.out.println(event.paramString();
    }
}

它可以很好地最小化事件,但不能关闭事件,和。那么,为什么不将其传递给
windowStateChanged()

windowstate侦听器不会收到窗口关闭事件的通知。他们只会收到窗口状态更改的通知,例如图标化或取消图标化。如果您想关闭事件,请实现WindowListener(或ExtendeWindowAdapter)。本教程对此进行了解释。

您可以使用此选项

frame.addWindowListener(new java.awt.event.WindowAdapter()
{
public void windowClosing(WindowEvent winEv)

}}


这肯定会被编辑

(一个路人注意到)嗯,除了

I:\proj\TestSnippet.java:7: ';' expected
        public void windowClosing(WindowEvent winEv)
                                                    ^
I:\proj\TestSnippet.java:9: ')' expected
        }}
         ^
2 errors

Tool completed with exit code 1

这肯定会被编译。在这个监听器中,我们可以执行关闭窗口时必须执行的任务。好的,现在我明白你想说什么了。是的,写了。请随意编辑我的添加内容。但是请同时更正代码段(或使其更为通用)+1用于指向
WindowListener
的指针。
I:\proj\TestSnippet.java:7: ';' expected
        public void windowClosing(WindowEvent winEv)
                                                    ^
I:\proj\TestSnippet.java:9: ')' expected
        }}
         ^
2 errors

Tool completed with exit code 1