小弟我在写一个五子棋,正在写下棋的部分
我写了一个 public void mouseClicked(MouseEvent event) 的鼠标监听函数,用来监听鼠标动作,然后下棋,
又写了一个判断胜负的类,最后一个主类来调用这2个类。
可是,不知道怎么控制那个鼠标监听函数的监听鼠标点击次数,它一直监听鼠标动作然后下棋,
我想在每次下棋后进行判断,所以要控制鼠标每次监听次数为1,好让我把判断胜负类的相关函数插进去。
请问大哥们,怎么控制public void mouseClicked(MouseEvent event)这个函数的鼠标监听次数啊?
急求,谢谢大哥们了先!!

解决方案 »

  1.   

    就是,它一直监听鼠标,鼠标点一下,它就画个棋子,鼠标再点,它就再画,
    public void mouseClicked(MouseEvent event)是一个监听鼠标动作的,连续不断的监听
    我想让他监听一次,然后判断下的棋是否胜利,再循环
      

  2.   

    你不需要控制监听,你控制画棋子就行了。
    根据你程序的状态,有些情况下,画棋子,有些情况下,无动作不就行了?boolean canPaint;void paint(Graphics g) {
        if (canPaint) {
            g.fill(Shape)
            canPaint = false;
        }    
    }然后在其它地方,根据需要,重新设置canPaint的值不就完了吗?
      

  3.   

    就是,它一直监听鼠标,鼠标点一下,它就画个棋子,鼠标再点,它就再画,
    public void mouseClicked(MouseEvent event)是一个监听鼠标动作的,连续不断的监听
    我想让他监听一次,然后判断下的棋是否胜利,再循环
    --------------
    public void mouseClicked(MouseEvent event)
    {
       //这里面处理你的判断输赢的方法,不就达到监听一次,然后判断下的棋是否胜利,再
       //循环的目的了吗?
    }
      

  4.   

    removeMouseListener(MouseListener l)
      

  5.   

    楼上的大哥好厉害,我这样做真的可以,但我还想问的是,要是有一方胜利了,怎么跳出这个鼠标监听的函数呢?有没有一个函数,可以在达到某一条件(比如这里一方胜利)后,跳出这个鼠标监听呢??
    -----------------
    首先设一个全局变量比如bz给他赋值0然后
    public void mouseClicked(MouseEvent event)
    {
    if(bz!=0){
    ........
    ........
    if(胜利) bz=1;
    }  }
      

  6.   

    我也在写五子棋和最近流行的六子棋的软件(可能谈不上是软件),不过是用.NET做