[求助]关于java鼠标事件处理的问题

renheihei 2003-10-09 07:45:45
package myprojects.labelframe;
import java.awt.*;
import java.awt.event.*;

class labelframe extends Frame implements Mouselistener
{
Label label;
public static void labelframe(String title)
{
super(title);
setLayout(new FlowLayout());
label=new Label("Hello from Java! This is a frame window.");
add(label);
addMouseListener(this);
}
public void mousePressed(MouseEvent e)
{
if((e.getModifiers)&InputEvent.BUTTON1_MASK==InputEvent.BUTTON1_MASK)
{
label.setText("left mouse button down at"+e.getX()+","+getY());
}
else
{
label.setText("Right mouse button down at"+e.getX()+","+getY());
}
}

public void mouseClicked(MouseEvent e)
{
label.setText("you clicked the mouse at"+e.getX()+","+getY());
}
public void mouseReleased(MouseEvent e)
{
label.setText("the mouse button went up.");
}
public void mouseEntered(MouseEvent e)
{
label.setText("the mouse entered.");
}
public void mouseExited(MouseEvent e)
{
label.setText("the mouse exited");
}
public static void main(String args[])
{
System.out.println("Starting Labelframe...");
labelframe mainFrame = new labelframe();
mainFrame.setSize(400, 400);
mainFrame.setTitle("Labelframe");
mainFrame.setVisible(true);
}
}
求各位高手,帮忙改错!
错误提示:

E:\renqianlu\java\mypro\labelframe\Labelframe.java:17: cannot resolve symbol
symbol : class Mouselistener
location: class myprojects.labelframe.labelframe
class labelframe extends Frame implements Mouselistener
^
E:\renqianlu\java\mypro\labelframe\Labelframe.java:22: call to super must be first statement in constructor
super(title);
^
E:\renqianlu\java\mypro\labelframe\Labelframe.java:23: non-static method setLayout(java.awt.LayoutManager) cannot be referenced from a static context
setLayout(new FlowLayout());
^
E:\renqianlu\java\mypro\labelframe\Labelframe.java:24: non-static variable label cannot be referenced from a static context
label=new Label("Hello from Java! This is a frame window.");
^
E:\renqianlu\java\mypro\labelframe\Labelframe.java:25: non-static variable label cannot be referenced from a static context
add(label);
^
E:\renqianlu\java\mypro\labelframe\Labelframe.java:25: non-static method add(java.awt.Component) cannot be referenced from a static context
add(label);
^
E:\renqianlu\java\mypro\labelframe\Labelframe.java:26: non-static variable this cannot be referenced from a static context
addMouseListener(this);
^

E:\renqianlu\java\mypro\labelframe\Labelframe.java:26: addMouseListener(java.awt.event.MouseListener) in java.awt.Component cannot be applied to (myprojects.labelframe.labelframe)
addMouseListener(this);
^
E:\renqianlu\java\mypro\labelframe\Labelframe.java:30: cannot resolve symbol
symbol : variable getModifiers
location: class java.awt.event.MouseEvent
if((e.getModifiers)&InputEvent.BUTTON1_MASK==InputEvent.BUTTON1_MASK)
^
9 errors

Process completed.


...全文
42 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
stamp80 2003-10-10
  • 打赏
  • 举报
回复
有的错误你注意一下提示信息就可以了,有的可能要你仔细看看api文档。像标号未声明这样的错误注意一下就可以解决了,有的是你静态方法中调用非静态的方法,labelframe的构造方法完全可以不用static。
chanceqw 2003-10-10
  • 打赏
  • 举报
回复
哎,看来受VB毒害太深啊,怎么都不注意大小写
xmtanglyj 2003-10-09
  • 打赏
  • 举报
回复
package myprojects.labelframe;
import java.awt.*;
import java.awt.event.*;

class labelframe extends Frame implements MouseListener
{
Label label;
public labelframe(String title){
super(title);
......
addMouseListener(this);
}
public void mousePressed(MouseEvent e)
{
if((e.getModifiers()&InputEvent.BUTTON1_MASK)==InputEvent.BUTTON1_MASK)
{
......
}
else
{
......

}
}
......
public static void main(String args[])
{
System.out.println("Starting Labelframe...");
labelframe mainFrame = new labelframe("Labelframe");
......
}
}

renheihei 2003-10-09
  • 打赏
  • 举报
回复
怎么还是那些错误啊!~~
renheihei 2003-10-09
  • 打赏
  • 举报
回复
谢谢了~~
stamp80 2003-10-09
  • 打赏
  • 举报
回复
拜托,是MouseListener,注意大小写

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧