Java 向JFrame添加WindowListener(窗口已打开)

Java 向JFrame添加WindowListener(窗口已打开),java,Java,这是我的观点课。主类实际上启动了该程序。视图类中使用了以下代码,因为它包含GUI和事件处理程序(操作侦听器) 这就是我正在做的,但它给出了错误消息:TheaterView不是抽象的,并且不会覆盖WindowListener中的抽象方法windowDeactivated(WindowEvent) 无论如何,我实现了这些方法并得到了这个(我也得到了其他方法,但这是我唯一需要的): 但是,当我执行诸如使用println命令之类的操作时,它似乎不起作用。我希望在程序第一次运行时,即打开窗口时,它可以执行

这是我的观点课。主类实际上启动了该程序。视图类中使用了以下代码,因为它包含GUI和事件处理程序(操作侦听器)

这就是我正在做的,但它给出了错误消息:TheaterView不是抽象的,并且不会覆盖WindowListener中的抽象方法windowDeactivated(WindowEvent)

无论如何,我实现了这些方法并得到了这个(我也得到了其他方法,但这是我唯一需要的):

但是,当我执行诸如使用println命令之类的操作时,它似乎不起作用。我希望在程序第一次运行时,即打开窗口时,它可以执行某些操作

我找了很多,但还没弄明白。任何帮助都将不胜感激:)

主要代码:

TheaterView theater = new TheaterView("Movie Theater");
theater.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
theater.setLocation(200, 200);
theater.pack();
theater.setVisible(true);

你有没有从你的听众那里跳过所有的抽象方法? 诸如此类:

public void windowClosing(WindowEvent e) {
     aboutFrame.dispose();      
}

public void windowClosed(WindowEvent e) {
}

public void windowIconified(WindowEvent e) {
}

public void windowDeiconified(WindowEvent e) {
}

public void windowActivated(WindowEvent e) {
}

public void windowDeactivated(WindowEvent e) {
}

你有没有从你的听众那里跳过所有的抽象方法? 诸如此类:

public void windowClosing(WindowEvent e) {
     aboutFrame.dispose();      
}

public void windowClosed(WindowEvent e) {
}

public void windowIconified(WindowEvent e) {
}

public void windowDeiconified(WindowEvent e) {
}

public void windowActivated(WindowEvent e) {
}

public void windowDeactivated(WindowEvent e) {
}

编写一个扩展WindowsAdapter的类,并通过addWindowsListener将其添加到JFrame中

有关更多信息,请参阅


在Swing/AWT中使用侦听器时,总是值得尝试根据要使用的侦听器搜索相应的适配器

编写一个扩展WindowsAdapter的类,并通过addWindowsListener将其添加到JFrame中

有关更多信息,请参阅


在Swing/AWT中使用侦听器时,总是值得尝试根据要使用的侦听器搜索相应的适配器

是的,我在public void windowOpened(WindowEvent e)中有这样的语句:System.out.println(“Yayy”);但是,它似乎没有打印出来。我没有收到错误消息,但似乎什么也没有发生。能否在main()中发布代码,在那里实例化TheaterView及其构造函数,或者在main中添加代码。在实例化TheaterView之前,您至少能够在main()中打印ln(“你好”)吗?是的,我在public void windowOpened(WindowEvent e)中有这样的语句:System.out.println(“Yayy”);但是,它似乎没有打印出来。我没有收到错误消息,但似乎什么也没有发生。能否在main()中发布代码,在那里实例化TheaterView及其构造函数,或者在main中添加代码。在实例化TheaterView之前,您是否至少能够在main()中打印ln(“你好”)呢?
public void windowClosing(WindowEvent e) {
     aboutFrame.dispose();      
}

public void windowClosed(WindowEvent e) {
}

public void windowIconified(WindowEvent e) {
}

public void windowDeiconified(WindowEvent e) {
}

public void windowActivated(WindowEvent e) {
}

public void windowDeactivated(WindowEvent e) {
}