minghuitian(明月),我的意思是要执行XAction的动作,但是
我不知道如何在if (rect.contains(e.getX(), e.getY()))
的条件满足之后触发这个标准Action动作,就是说如何执行
XAction中的actionPerformed(ActionEvent evt)

解决方案 »

  1.   

    public void mouseClicked(MouseEvent e) {   Rectangle rect = getBounds();
       if (rect.contains(e.getX(), e.getY())) {
    // 如果鼠标点击在我定义的范围内,执行XAction
          onXAction(new XAtion(...))
       }
     }public void onXAction(XAction x) {
    ...
    }
      

  2.   

    action 只有在事件发生的时候才执行actionPerformed(ActionEvent evt)的,要看你把该action关联到哪了?要是关联到按钮,那只有在按钮被点击的时候才会执行,别的时候是不会执行actionPerformed(ActionEvent evt)的
      

  3.   

    my code is too big,the reason is complex,but it is now ok.
    ThanX , i give you note.