其实 MouseLisenter 并添加给一个 JPanel,把这个 JPanel 放在 frame的中间
其它的你自己想想吧

解决方案 »

  1.   

    这个问题是我在看一个例子提出的,这个例子的方法是用JGraph类,不过我没用过JGraph类。
    1、JGraph属于swing吗?好像没找着,有关于JGraph的书或资料吗?2、另外,我在这例子里,看到有鼠标拖动函数(就是对应画箭头),该函数为:
    public class WGraph extends JGraph {
               ...
    public void mouseDragged(MouseEvent event) {
        if(NEWEDGE){
    Graphics g = getGraphics();
    Color   bg = getBackground();
    Color   fg = Color.black;
    g.setColor(fg);
    g.setXORMode(bg);
    current = snap(event.getPoint());
    overlay(g);
        }
        super.mouseDragged(event);
    }
         ...
    }
    ---------------
    但整个文件WGraph类里就一个this.addMouseListener(new MouseAdapter() {...})注册监听器的地方,怎么地方有addMouseMotionListener(...)这个注册代码?否则怎么当拖动鼠标,怎么调用上面的mouseDragged(MouseEvent event)这个孤零零的函数?还有,super.mouseDragged(event)代表调用JGraph里的mouseDragged又是怎么回事???谢谢!!
      

  2.   

    “怎么地方有addMouseMotionListener(...)这个注册代码?”--漏打字了,应该是:怎么没有地方有addMouseMotionListener(...)这个注册代码?
      

  3.   

    晕~看样子还是每人帮你的啦,我就凑合着说一下吧。
    JGraph,我印象中是一个开源项目,在sourceforge能找到,主要支持UI的矢量化,特别如矢量图绘画等,不是Swing标准控件,不过是从Java2D那里封装过来。
    至于你说的鼠标事件,简单,可能是父类已经声明了接口,不过在子类重写罢了。更多内容,去看看它的SRc和Doc吧。^_^