如题,
在内部类里,如何获得其外部的,包含它的类的 this 引用
谢谢!

解决方案 »

  1.   

    具体是这样:
        我想在消息处理的内部类里,弹出一个对话框
        这个对话框需要输入“外部类”的this引用
        (“外部类”是个Frame的子类,用于显示主界面,类里有main()函数)
        如果new 一个,就与当前正在运行的“外部类”的实例不一致了
        怎么办呢?~~~
      

  2.   

    你是不是用匿名内部类?Frame类里有个静态方法get.Frames():
    public static Frame[] getFrames()返回一个数组,包含由应用程序创建的所有 Frame。如果从 applet 调用,数组将只包括该 applet 可访问的 Frame.
    如果你有多个Frame可以判断标题以确定那个是当前Frame
    下面这个就是匿名内部类里弹出文件选择对话框的代码,这里只有1个Frame,所以没有判断。
    FileDialog fileOpenDialog=new FileDialog(Frame.getFrames()[0],"打开",FileDialog.LOAD);另外你也可以将外部类的实例定义为static,这样就可以直接访问了啊!