jMenu1.setText("文件");
    jMenu1.addMouseListener(new java.awt.event.MouseAdapter() {
      public void mouseClicked(MouseEvent e) {
        jMenu1_mouseClicked(e);
      }
    });
     jMenuItem1.setText("打开");
    jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jMenuItem1_actionPerformed(e);
      }  ……………………
 void jMenu1_mouseClicked(MouseEvent e) {
JOptionPane.showMessageDialog(null, "打开", "打开" ,JOptionPane.INFORMATION_MESSAGE );
  }
 void jMenuItem1_actionPerformed(MouseEvent e) {//这里修改
   JOptionPane.showMessageDialog(null, "打开", "打开" ,JOptionPane.INFORMATION_MESSAGE );}

解决方案 »

  1.   

    对,我试过,用actionperformed确实好用,我只是不明白为什么
    menuitem的mouseclicked事件就不好用呢
    难道它不触发鼠标点击事件?
      

  2.   

    看看这个:
    jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            jMenuItem1_actionPerformed(e);
          }
    jMenuItem1_actionPerformed(e)是一个方法名字,ActionListener把这个方法封装好了一个接口new java.awt.event.ActionListener,那么在jMenuItem1对象里面就可以操作这个接口,实现方法的回调(回调jMenuItem1_actionPerformed)
      

  3.   

    我的程序里也有这一段啊
    jMenuItem1.addMouseListener(new java.awt.event.MouseAdapter() {
          public void mouseClicked(MouseEvent e) {
            jMenuItem1_mouseClicked(e);
          }
        });按理说,mouseclicked也该好使才对啊
      

  4.   

    jMenuItem1_mouseClicked是个方法名字而已
    好吧,你要用他也好
    你这样:
    jMenu1.setText("文件");
        jMenu1.addMouseListener(new java.awt.event.MouseAdapter() {
          public void mouseClicked(MouseEvent e) {
            jMenu1_mouseClicked(e);
          }
        });
         jMenuItem1.setText("打开");
        jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            jMenuItem1_mouseClicked(e);
          }  ……………………
     void jMenu1_mouseClicked(MouseEvent e) {
    JOptionPane.showMessageDialog(null, "打开", "打开" ,JOptionPane.INFORMATION_MESSAGE );
      }
     void jMenuItem1_mouseClicked(MouseEvent e) {
       JOptionPane.showMessageDialog(null, "打开", "打开" ,JOptionPane.INFORMATION_MESSAGE );}
      

  5.   

    嘿嘿,不好用啊
    出错信息
    "Frame1.java": Error #: 300 : method jMenuItem1_mouseClicked(java.awt.event.ActionEvent) not found in anonymous class of method jbInit() at line 86, column 8
      

  6.   

    写错了个参数:
    void jMenuItem1_mouseClicked(ActionEvent e) {
       JOptionPane.showMessageDialog(null, "打开", "打开" ,JOptionPane.INFORMATION_MESSAGE );}