1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
| import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.io.File;
import javax.swing.JApplet;
import javax.swing.JButton;
import netscape.javascript.JSException;
import netscape.javascript.JSObject;
public class Uploader extends JApplet {
private JButton uploadLauncher;
private Transfert dialog;
private File file;
private String id;
public Uploader() {
super();
}
public String getElementById(String id) {
try {
JSObject wina;
/**///////////////////////////////////////////////////////////////////////////**/
/*// ATTENTION : Ici, une erreur est lancé a la premiere création du //*/
/*/ JSObject. Une solution temporaire a été apporté, toutefois, il serait /*/
/*// plus prudent de le revoir... //*/
/**///////////////////////////////////////////////////////////////////////////**/
/**/try { /**/
/**/ wina = JSObject.getWindow(this); /**/
/**/} catch (JSException jse) { /**/
/**/ System.out.println(this.getName()+"ici, bug a revoir, solution temporaire apporté");/**/
/**/ wina = JSObject.getWindow(this); /**/
/**/} /**/
/**///////////////////////////////////////////////////////////////////////////**/
/**///////////////////////////////////////////////////////////////////////////**/
return (String)wina.eval("javascript:document.getElementById('"+this.getName()+"').value;");
} catch (JSException e) { e.printStackTrace(); return ""; }
}
public void setElementById(String id,String value) {
try {
JSObject wina;
/**///////////////////////////////////////////////////////////////////////////**/
/*// ATTENTION : Ici, une erreur est lancé a la premiere création du //*/
/*/ JSObject. Une solution temporaire a été apporté, toutefois, il serait /*/
/*// plus prudent de le revoir... //*/
/**///////////////////////////////////////////////////////////////////////////**/
/**/try { /**/
/**/ wina = JSObject.getWindow(this); /**/
/**/} catch (JSException jse) { /**/
/**/ System.out.println(this.getName()+"ici, bug a revoir, solution temporaire apporté");/**/
/**/ wina = JSObject.getWindow(this); /**/
/**/} /**/
/**///////////////////////////////////////////////////////////////////////////**/
/**///////////////////////////////////////////////////////////////////////////**/
wina.eval("javascript:document.getElementById('"+this.getName()+"').value = '"+value+"';");
} catch (JSException e) { e.printStackTrace(); }
}
public static boolean parseJSToBoolean(String js) {
return (js.equals("1") || "true".equals(js.toLowerCase()));
}
public static String parseBooleanToJS(boolean bool) {
if (bool) {
return "1";
} else {
return "0";
}
}
public void init() {
this.id = "id";
this.uploadLauncher = new JButton("Transférer avec Java");
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(this.uploadLauncher);
this.add(this.uploadLauncher);
this.uploadLauncher.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
launchUpload(evt);
}
});
if (this.id == null) {
this.uploadLauncher.setEnabled(false);
}
setElementById("id-text", "en cours...");
setElementById("id-real", "");
}
public String getFile() {
return this.file.getName();
}
public void setFile(File file) {
this.file = file;
}
public void launchUpload(ActionEvent e) {
this.dialog = new Transfert(this, true);
if (this.dialog.showDialog()) {
this.uploadLauncher.setEnabled(false);
this.file = this.dialog.getFile();
System.out.println("Fin d'utilisation, récupération du fichier");
try {
JSObject win = JSObject.getWindow(this);
System.out.println("pret a executer niveau 1");
win.eval("document.getElementById('"+this.id+"-text').value = '"+this.file.getName()+"';");
win.eval("document.getElementById('"+this.id+"-real').value = '"+this.file.getName()+"';");
} catch (JSException ex) {
System.out.println("JSException niveau 1 : "+ex);
try {
JSObject wina = JSObject.getWindow(this);
System.out.println("pret a executer niveau 2");
wina.eval("document.getElementById('"+this.id+"-text').value = '"+this.file.getName()+"';");
wina.eval("document.getElementById('"+this.id+"-real').value = '"+this.file.getName()+"';");
} catch (JSException ex2) {
System.out.println("JSException niveau 2 : "+ex2);
}
}
} this.dialog.dispose();
}
} |
Partager