应该不是因为这个吧,是不是因为异常是出在没有被try的地方呢。

解决方案 »

  1.   

    多谢!
    我很迷惑错误是不是出现在try的地方.try{
     JMenu fileMenu = new JMenu("File"); // Create File menu
              JMenu elementMenu = new JMenu("Elements");  //Create ElementMenu
                  }catch(Exception e)
                 { System.out.println(e.getClass());}
    然后在下面这句中
    addMenuItem(fileMenu,newAction);错误提示无法找到变量fileMenu.
      

  2.   

    哦,原因是,你的fileMenu在try中定义,在try外面就不能使用该变量的,你把定义拿出来就行了。
      

  3.   

    这是变量的Scope问题的,你应该好好看一下基础的东西呢
      

  4.   

    谢谢,你说的很对.但是去掉try块后.还是无法编译,你帮我编编看.
      

  5.   

    不是,你的try是不能去的,你这样定义。
    JMenu fileMenu=null;
    JMenu elementMenu=null;
    try{
              fileMenu = new JMenu("File"); // Create File menu
              elementMenu = new JMenu("Elements");  //Create ElementMenu
                  }catch(Exception e)
                 { System.out.println(e.getClass());}
      

  6.   

    或者你把try去掉也行,就是把method改成这样。
    public class SketcherFrame extends JFrame
                               implements Constants throws Exception{
    }
      

  7.   

    同意楼上的,因为你的对象elementMenu 是在try{}块类定义的,作用范围就只能在这个块里,出去就是无效的了!
      

  8.   

    jcq(疯子弟) 所言极是,try块中定义的变量的作用域就是这个try块,在外部无法访问的
      

  9.   

    把JMenu定义在try块之外就行了。