框架侦听器 Java

Frame Listener Java

为什么当我调用 windowsClosing 方法 (WindowEvent e) 时出现 "java: cannot find symbol" 错误?

import java.awt.*;
import java.awt.event.*;

public class Finestra implements WindowListener {

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

    public void windowClosed(WindowEvent e) {
        System.exit(0);
    }

    public void windowOpened(WindowEvent e) {
    }

    public void windowIconified(WindowEvent e) {
    }

    public void windowDeiconified(WindowEvent e) {
    }

    public void windowActivated(WindowEvent e) {
    }

    public void windowDeactivated(WindowEvent e) {
    }
}

Class 主要:

import java.awt.*;
import java.awt.event.*;

public class main {
    public static void main(String args[]) {
        Grafica g = new Grafica();
        Finestra f1 = new Finestra();
        f1.windowClosing(WindowEvent e);
    }
}

错误是main在执行时给到调用WindowsClosing方法的那一行

我想这会对你有所帮助.. Finestra.java

import java.awt.*;
import java.awt.event.*;

public class Finestra extends Frame implements WindowListener {

Finestra(){
    addWindowListener(this);

    setSize(400,400);
    setLayout(null);
    setVisible(true);
}
public void windowClosing(WindowEvent e) {
    System.out.println("closing");
    e.getWindow().dispose();
}

public void windowClosed(WindowEvent e) {
    System.exit(0);
}

public void windowOpened(WindowEvent e) {
    System.out.println("hello");
}

public void windowIconified(WindowEvent e) {
}

public void windowDeiconified(WindowEvent e) {
}

public void windowActivated(WindowEvent e) {
}

public void windowDeactivated(WindowEvent e) {
}

}

Main.java

public class Main {
public static void main(String args[]) {
  new Finestra();

}

}

我不明白您使用的 Grafica class,但如果您想将它用于框架,您可以在 Finestra class 中扩展框架! 希望对您有所帮助!