帮忙看看,为什么返回类型不对? boolean? Boolean? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Boolean 是一个对象。boolean 是一个基本类型。一般都是用boolean,有需要把boolean 包装成对象的时候,才会用到Boolean. protected Boolean processMouseMotionEvent2(MouseEvent e) { if(e.getID()==MouseEvent.MOUSE_MOVED) { xCoord=e.getX(); yCoord=e.getY(); //repain(); } super.processMouseMotionEvent(e); return new Boolean(false); } int xCoord, yCoord; 注意!! 你要求返回的是一个布尔对象不是一个常量!! protected boolean processMouseMotionEvent(MouseEvent e) 改成boolean后还是不对,还是同样的错误,这是课本上的一个例子,我把代码都铁出来,大家看看:package chapter15.code.scope;import java.awt.*;import java.awt.event.*;import java.io.Serializable;public class Scope extends Canvas implements Serializable{ protected int xCoord=0, yCood=0, ticks=8; protected String coordString="0,0"; public Scope() { enableEvents(AWTEvent.MOUSE_MOTTON_EVENT_MASK | AWTEvent.MOUSE_EVENT_MASK); setSize(200,200); } public void setTicks(int ticks) { this.ticks=ticks; } public int getTicks() { return ticks; } public void paint(Graphics g) { int tickSize=5; int xMax=getSize().width-1; int ymax=getSize().height-1; int xRes=XMax/ticks; int yRes=yMax/ticks; g.setColor(Color .red); g.drawRect(0,0,xMax,yMax); g.drawLine(xCoord,0,xCoord,yMax); g.drawLine(0,yCoord,0,xMax,yCoord); coordString=new Integer(xCoord)+","+new Integer(yCoord); g.drawString(coordString,tickSize,yMax-tickSize); for(int i=0,x=0;i<ticks;i++,x+=xRes) { g.drawLine(x,0,x,tickSize); g.drawLine(x,yMax-tickSize,x,yMax); } for(int i=0,y=0;i<ticks;i++,y+=yRes) { g.drawLine(0,y,tickSize,y); g.drawLine(xMax-tickSize,y,xMax,y); } } protected boolean processMouseMotionEvent(MouseEvent e)//此处出错 { if(e.getId()==MouseEvent.MOUSE_MOVED) { xCoord=e.getX(); yCoord=e.getY(); repain(); } super.processMouseMotionEvent(e); return false; } protected boolean processMouseEvent(MouseEvent e)//出错,返回类型不对 { if(e.getId()==MouseEvent.MOUSE_EXITED) { xCoord=0; yCoord=0; repain(); } super.processMouseMotionEvent(e); return false; }} 你的方法继承自超类,没有返回值所以应该用void processMouseEvent的返回类型错误,因为Scope 的父类Component中,processMouseEvent的返回类型为void, 如果要在这进行重载,只是返回类型不同肯定错误。 e.getId() should be e.getID() 免费获取java教学光盘,您只需付邮费 【求助】我知道这个问题很愚蠢,但是还是忍不住要问一下。 oracle字符集转换,烦恼? visual editor 如何设置结果集,使其滚动 请问Servlet如何用WINDOWS的画图板打开图片?? 我是新手谢谢大哥大姐了 jb中利用cvs怎样创建远程仓库呢!!! 谁能告诉我哪里能找到java包内部类及方法使用介绍 java基于C/S连接数据库 Java程序接力,希望大家响应 移位运算是怎么回事。
boolean 是一个基本类型。一般都是用boolean,有需要把boolean 包装成对象的时候,才会用到Boolean.
{
if(e.getID()==MouseEvent.MOUSE_MOVED)
{
xCoord=e.getX();
yCoord=e.getY();
//repain();
}
super.processMouseMotionEvent(e);
return new Boolean(false);
}
int xCoord, yCoord;
注意!! 你要求返回的是一个布尔对象不是一个常量!!
package chapter15.code.scope;
import java.awt.*;
import java.awt.event.*;
import java.io.Serializable;public class Scope extends Canvas implements Serializable
{
protected int xCoord=0,
yCood=0,
ticks=8;
protected String coordString="0,0";
public Scope()
{
enableEvents(AWTEvent.MOUSE_MOTTON_EVENT_MASK | AWTEvent.MOUSE_EVENT_MASK);
setSize(200,200);
}
public void setTicks(int ticks)
{
this.ticks=ticks;
}
public int getTicks()
{
return ticks;
}
public void paint(Graphics g)
{
int tickSize=5;
int xMax=getSize().width-1;
int ymax=getSize().height-1;
int xRes=XMax/ticks;
int yRes=yMax/ticks;
g.setColor(Color .red);
g.drawRect(0,0,xMax,yMax);
g.drawLine(xCoord,0,xCoord,yMax);
g.drawLine(0,yCoord,0,xMax,yCoord);
coordString=new Integer(xCoord)+","+new Integer(yCoord);
g.drawString(coordString,tickSize,yMax-tickSize);
for(int i=0,x=0;i<ticks;i++,x+=xRes)
{
g.drawLine(x,0,x,tickSize);
g.drawLine(x,yMax-tickSize,x,yMax);
}
for(int i=0,y=0;i<ticks;i++,y+=yRes)
{
g.drawLine(0,y,tickSize,y);
g.drawLine(xMax-tickSize,y,xMax,y);
}
}
protected boolean processMouseMotionEvent(MouseEvent e)//此处出错
{
if(e.getId()==MouseEvent.MOUSE_MOVED)
{
xCoord=e.getX();
yCoord=e.getY();
repain();
}
super.processMouseMotionEvent(e);
return false;
}
protected boolean processMouseEvent(MouseEvent e)//出错,返回类型不对
{
if(e.getId()==MouseEvent.MOUSE_EXITED)
{
xCoord=0;
yCoord=0;
repain();
}
super.processMouseMotionEvent(e);
return false;
}
}
所以应该用void
的返回类型为void, 如果要在这进行重载,只是返回类型不同肯定错误。