【问题标题】:Frame Listener Java帧侦听器 Java
【发布时间】:2020-05-20 12:09:34
【问题描述】:

为什么我在调用 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) {
    }
}

主类:

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方法的那一行

【问题讨论】:

  • f1.windowClosing(WindowEvent e); 这不是你调用方法的方式
  • 如果你想添加一个WindowListener,你可能想找到并调用一个名为addWindowListener的方法。
  • f1.windowClosing(WindowEvent e);不是调用或调用方法的正确方法。您应该创建一个变量,并在初始化之后,将该变量作为参数传递给方法。
  • 你能用几行代码告诉我怎么写吗?

标签: java events awt frame


【解决方案1】:

我想这会对你有所帮助.. 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 类,但如果你想将它用于框架,你可以在 Finestra 类中扩展框架! 希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    相关资源
    最近更新 更多