关于在画图程序中做图形拖动模块的一个bug

来源:互联网 发布:网 网络手游交易网√ 编辑:程序博客网 时间:2024/06/01 10:21
public void mouseDragged(MouseEvent e)    {        if(dragflag)        {               int p = e.getX();            int q = e.getY();            int i;//          System.out.println(p+","+q);            for( i=0 ;i<shapes.size() ;i++)            {                if(shapes.get(i).isSelected(p, q))                {                    selected = i;                    break;                }            }            System.out.println(shapes.get(i).getshape);            if(shapes.get(i).getshape==2)            {                shapes.remove(i);                shapes.add(i, new Rect(p,q,c+p-a,d+q-b,width,color));                repaint();            }        }    }`这里写代码片`

我的FAKECAD程序中,关于拖动的Bug,就在于i的传值问题,如上的代码跑出来会有很多线程的问题,如果在设定一个Int selected,当isselected执行的时候,把i传给selected,再break出来,问题就可以解决,可是我还不知道原理是什么。。。

原创粉丝点击