3

我试图在我的代码中使用文件选择器,我"Not an enclosing class""int returnVal = fc.showOpenDialog(FileChooserDemo.this);". 下面是我的代码。任何猜测来解决它?

browse_button.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent e) {

     int returnVal = fc.showOpenDialog(FileChooserDemo.this);

      File file = fc.getSelectedFile();

                log.append("Opening: " + file.getAbsolutePath() + "." + "\n");
                String ab=file.getAbsolutePath();
                System.out.println(ab);

}});

我已经做了actionlistenerin main 方法。

4

1 回答 1

3

您的问题是您在静态方法中进行此调用main(...),并尝试FileChooserDemo.this在此静态方法中使用(对封闭类的引用)。好吧,这是行不通的,因为this静态世界中没有。解决方案是在非静态代码中执行此操作,例如非静态方法或类的构造函数。

于 2012-09-23T04:55:53.143 回答