java - AWT 框架不处理事件

标签 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 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();
}
}

最佳答案

从表面上看,这段代码无法编译。您有一个错误需要修复:

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

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

并按照其他人指出的那样添加正确的import java.awt.Dimension

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

关于java - AWT 框架不处理事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30436736/

相关文章:

java - 如何使用 javascript 在 selenium webdriver 中执行鼠标悬停功能

java - Apache Solr 查询结果不一致

java - JButton 在我的 java 代码中不起作用

java - 将 MouseListener 与 JTree 结合使用

java - 每当您单击它时,都会使用不同的图像重新绘制 JPanel

java - 尝试查找 .bmp 文件的高度和宽度在处理中得到不一致的结果

java - 在 Java 中使用替代代码

java - 减少 Java 游戏中碰撞方法的数量

java - 面板不允许添加?

java - 无法导入包 org.springframework.messaging 并使用 MessageHandler 接口(interface)