Java AWT帧不处理事件

Java AWT帧不处理事件,java,awt,mouselistener,Java,Awt,Mouselistener,框架正常打开和关闭,但鼠标单击不起作用 import java.awt.Frame; import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; //Create a frame window that responds

框架正常打开和关闭,但鼠标单击不起作用

import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

//Create a frame window that responds to mouse click
public class AWT3 extends Frame {
    String Mmsg="";
    int mouseX=0, mouseY=0;

    public AWT3() {
        addWindowListener(new MyWindowwAdapter(this));
        addMouseListener(new MyMouseeAdapter(this));
    }

public void paint(Graphics g){
        g.drawString(Mmsg, mouseX, mouseY);
    }

public static void main(String args[]){
    AWT3 awt3 = new AWT3();
    awt3.setSize(new dimension(500, 500));
    awt3.setTitle("Window framee");
    awt3.setVisible(true);
    }
}


class MyWindowwAdapter extends WindowAdapter{
    AWT3 awt3;
    public MyWindowwAdapter(AWT3 awt3) {
        this.awt3=awt3;
    }
    public void windowClosing(WindowEvent we){
        awt3.setVisible(false);
    }
}

class MyMouseeAdapter extends MouseAdapter{
AWT3 awt3;
public MyMouseeAdapter(AWT3 awt3) {
    this.awt3=awt3;
}
public void MouseClicked(MouseEvent me){
    awt3.Mmsg="the mouse is clicked";
    awt3.mouseX= me.getX();
    awt3.mouseY=me.getY();``
    awt3.repaint();
}
}

方法名称应为
public void mouseClicked(MouseEvent me)
当按下并释放鼠标按钮时,鼠标单击()而不是
public void MouseClicked(MouseEvent me)

MouseClicked()

鼠标按下()


你的代码正在运行。在Java1.7上测试。我看到的唯一问题是,没有导入您试图创建新维度(500500)的java.awt.Dimension类;尽管类名的形式很简单,但您可以修复此错误并尝试代码。

从外观上看,此代码不会编译。您有一个需要修复的错误:

awt3.setSize(new dimension(500, 500));

并添加其他人指出的适当的
import java.awt.Dimension


另一个错误是
MouseClicked(MouseEvent me)
没有重写
MouseAdapter
中的超类方法,因为它的语法错误(超类方法以小写开头)。将其更改为
mouseClicked(MouseEvent me)
(如果愿意,添加可选的
@覆盖
注释)。

awt3.setSize(新尺寸(500500))还必须导入该类。导入java.awt.Dimension;为什么要使用AWT?有关放弃AWT使用组件而支持Swing的许多好理由,请参阅。
awt3.setSize(new Dimension(500, 500));