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));