Java找不到符号符号:方法getFiles()

时间:2015-05-01 18:08:15

标签: java imagej filedialog

我正在尝试在ImageJ插件中使用java.awt.FileDialog但由于某种原因我收到一条错误,Java无法找到getFiles方法:

  

C:\ File_Opener3.java:50:找不到符号符号:方法   getFiles()location:class java.awt.FileDialog fd.getFiles();           ^ 1错误

我在尝试使用setMultipleMode时遇到类似的错误,但其他方法(如setVisible和getFile)运行正常。有人可以告诉我我做错了吗?

import ij.plugin.*;
import ij.*;
import ij.io.*;
import java.io.*;
import javax.swing.*;
import javax.swing.filechooser.*;

import ij.gui.*;
import ij.plugin.frame.Recorder;
import ij.util.Java2;
import ij.macro.Interpreter;
import java.awt.*;

import java.awt.FileDialog;
import java.awt.Frame;

// Try to figure out why this only allows list veiw
public class File_Opener3  implements PlugIn {
    //static File dir;

    private static Frame sharedFrame;
    private String dir;
        private String name;

    public void run(String arg) {
        openFiles();
        IJ.register( File_Opener .class);
    }

    public void openFiles() {
        Frame parent = IJ.getInstance();
        if (parent==null) {
            if (sharedFrame==null) sharedFrame = new Frame();
                parent = sharedFrame;
            }
        FileDialog fd = new FileDialog(parent, "title"); // From Java.awt.FileDialog
        fd.setVisible(true);
        //fd.setMultipleMode(true);
        name = fd.getFile();
            if (name==null) {
                if (IJ.isMacOSX())
                    System.setProperty("apple.awt.fileDialogForDirectories", "false");
                Macro.abort();
            } else
                dir = fd.getDirectory();


        //File[] files = fd.getFiles();
        fd.getFiles();
        //IJ.log("48 fd.getFilenameFilter(): "+fd.getFilenameFilter());
        Opener opener = new Opener();
        //opener.openMultiple();
/*      for (int i=0; i<files.length; i++) {
            ImagePlus img = opener.openImage(path, files[i].getName());
            if (img!=null)
                img.show();
        }    */    
    }

}

1 个答案:

答案 0 :(得分:2)

Java 1.7中引入了

FileDialog.getFiles()FileDialog.setMultipleMode()。您可能正在编译早期版本的Java。如果您使用的是IDE,请检查为项目设置的源级别。