2015-05-01 6 views
1

Я пытаюсь использовать 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(); 
     } */  
    } 

} 

ответ

2

FileDialog.getFiles() и FileDialog.setMultipleMode() были введены в Java 1.7. Вероятно, вы компилируете более раннюю версию Java. Если вы используете IDE, проверьте исходный уровень, установленный для вашего проекта.

+0

К сожалению, вы правы, мой «О ImageJ» говорит о Java 1.6.0, хотя у меня установлен 1.8. – user1639187

+0

@ user1639187 - Возможно [этот FAQ] (http://fiji.sc/Frequently_Asked_Questions#How_do_I_launch_ImageJ_with_a_different_version_of_Java.3F) поможет. (Или, возможно, нет. Я ничего не знаю о ImageJ.) –

+0

Спасибо Теду, я просто пытался это, и теперь, когда компилирую, у меня есть «файл класса с неправильной версией 52.0, должен быть 50.0». – user1639187

 Смежные вопросы

  • Нет связанных вопросов^_^