我可以从内部类中的方法引用类,如果是,如何引用?

时间:2015-08-13 13:51:02

标签: java inner-classes

ALERT:Java新手

我尝试了以下方法使外部类成为filechooser的父类,但它引用了OuterClass.AddBrowseActionListener而不是OuterClass:

public class OuterClass extends JFrame{

...

    class AddBrowseActionListener implements ActionListener{
        public void actionPerformed(ActionEvent event){
            JFileChooser filechooser = new JFileChooser();
            int returnValue = filechooser.showOpenDialog(this);
            File infile = filechooser.getSelectedFile();
            System.out.println(infile.getName());
        }
    }
}

我知道匿名课程,所以除非这是解决问题的唯一方法,否则你不必向我展示。

另外,使用反射并不是我想要的。

2 个答案:

答案 0 :(得分:2)

从技术上讲,this只不过是包含对象的私有成员,因此您可以使用该类来查找字段:

int returnValue = filechooser.showOpenDialog(OuterClass.this);

这在Java语言规范中称为"Qualified this"

答案 1 :(得分:0)

int returnValue = filechooser.showOpenDialog(OuterClass.this);