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());
}
}
}
我知道匿名课程,所以除非这是解决问题的唯一方法,否则你不必向我展示。
另外,使用反射并不是我想要的。
答案 0 :(得分:2)
从技术上讲,this
只不过是包含对象的私有成员,因此您可以使用该类来查找字段:
int returnValue = filechooser.showOpenDialog(OuterClass.this);
这在Java语言规范中称为"Qualified this
"。
答案 1 :(得分:0)
int returnValue = filechooser.showOpenDialog(OuterClass.this);