boolean?
   Boolean?

解决方案 »

  1.   

    Boolean 是一个对象。
    boolean 是一个基本类型。一般都是用boolean,有需要把boolean 包装成对象的时候,才会用到Boolean.
      

  2.   

    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;
        
    注意!! 你要求返回的是一个布尔对象不是一个常量!!
      

  3.   

    protected boolean processMouseMotionEvent(MouseEvent e)
      

  4.   

    改成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;
            }
    }
      

  5.   

    你的方法继承自超类,没有返回值
    所以应该用void
      

  6.   

    processMouseEvent的返回类型错误,因为Scope 的父类Component中,processMouseEvent
    的返回类型为void, 如果要在这进行重载,只是返回类型不同肯定错误。
      

  7.   

    e.getId() should be e.getID()