У меня есть Java-апплет, который я использую для загрузки из interenet explorer на своем веб-сайте. , когда кнопка нажата на моем сайте, функция javascript входит в апплет и вызывает функцию OpenPrivDialog() апплета.Замедленный диалог файла в java-аплете
public void OpenPrivDialog() {
AccessController.doPrivileged(new PrivilegedAction<Object>() {
@Override
public Object run() {
OpenDialog();
return true;
}
});
}
public void OpenDialog(){
JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
fc.setMultiSelectionEnabled(true);
Logger.getLogger(UploadApplet.class.getName()).log(Level.INFO, "Opening dialog", "fe");
int retVal = fc.showOpenDialog(f);
if (retVal == JFileChooser.APPROVE_OPTION) {
Logger.getLogger(UploadApplet.class.getName()).log(Level.INFO, "approved", "");
File[] files = fc.getSelectedFiles();
Logger.getLogger(UploadApplet.class.getName()).log(Level.INFO, "got " + files.length+" files", "");
AddFiles(files);
}
}
этот код работает, но ужасно медленно открывается filechooser dilog, но в течение минуты полностью отвечать на запросы, а затем просто очень медленно -любой идея, почему?
1) Не так ли медленно, когда вы запускаете открытие диалога с помощью кнопки Java? 2) Почему он называется JS?3) Пожалуйста, ознакомьтесь с общепринятыми [соглашениями по именованию Java] (http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#73307) (в частности, для имен, используемых для имен) для класса , методы и имена атрибутов и использовать их последовательно. –
нет, когда один и тот же код запускается с кнопки, он не медленный. Я хочу это из javascript, потому что дизайн кнопки является частью html, я хочу, чтобы мой апплет был независимым от дизайна веб-страницы. – Yuval
Попробуйте найти [bug DB] (http://bugs.sun.com/), и если вы ничего не найдете, поднимите новый отчет. Посмотрите, что Oracle должен сказать по этому вопросу. –