Web サイトの Internet Explorer からアップロードするために使用している Java アプレットがあります。私のサイトでボタンが押されると、JavaScript 関数がアプレットを初期化し、アプレットの OpenPrivDialog() 関数を呼び出します。
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 分間は完全に応答しなくなり、その後非常に遅くなります。