Я пытаюсь использовать java.awt.FileDialog в ImageJ плагин, но по какой-то причине, я получаю сообщение об ошибке, что Java не может найти метод GetFiles: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();
} */
}
}
К сожалению, вы правы, мой «О ImageJ» говорит о Java 1.6.0, хотя у меня установлен 1.8. – user1639187
@ user1639187 - Возможно [этот FAQ] (http://fiji.sc/Frequently_Asked_Questions#How_do_I_launch_ImageJ_with_a_different_version_of_Java.3F) поможет. (Или, возможно, нет. Я ничего не знаю о ImageJ.) –
Спасибо Теду, я просто пытался это, и теперь, когда компилирую, у меня есть «файл класса с неправильной версией 52.0, должен быть 50.0». – user1639187