phenix22000
Messages postés11Date d'inscriptionjeudi 13 novembre 2008StatutMembreDernière intervention28 mars 2012
-
28 mars 2012 à 14:46
dvwyns
Messages postés159Date d'inscriptionmardi 2 janvier 2007StatutMembreDernière intervention 7 mai 2012
-
30 mars 2012 à 14:52
Bonjour,
J'essaie de trouver un moyen pour afficher un résultat récupérer depuis mon applet, sans utiliser les alerts. Celles-ci fonctionnent mais uniquement à titre informatif.
Mon application va chercher une image sur le disque dur de l'utilisateur, l'affiche et renvoi en alert (lien) le chemin de cette image. Ce que j'aimerai faire, c'est récupérer ce chemin pour l'insérer dans un champ input, voire afficher l'image dans un formulaire à partir de cette url...
la partie du code "
[javascript:alert(document.myApplet.getString()); chemin du répertoire]
" renvoi le chemin. J'ai tenté de récupérer le document.myApplet.getString() pour l'afficher dans un champ, mais sans succès...
Des idées?
Merci.
code html:
[javascript:alert(document.myApplet.getString()); chemin du répertoire]
<script language="javascript">
test = "testtest
document.write('');
document.write('');
</script>
<script type="text/javascript">
var repertoire='chemin';
var testId=document.getElementById('test');
test.value=repertoire;
</script>
<form name="libelle">
<!-- onclick='document.forms["libelle"].elements["libelle"].value="document.myapplet.getString();"'> -->
</form>
</html>
Code de mon applet java qui affiche et renvoi le chemin du répertoire de l'image:
import java.applet.*;
import java.awt.*;
import java.util.*;
import java.lang.*;
import java.text.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.net.URLDecoder;
import javax.swing.JLabel;
import netscape.javascript.JSException;
import netscape.javascript.JSObject;
public class test extends Applet {
String sFileName;
ImageIcon icon;
Image img;
String sjsFileName;
String sjsFilePath;
private JLabel label = new JLabel();
private JSObject jso;
public test() {
Panel p = new Panel();
Font f;
String osname = System.getProperty("os.name","");
if (!osname.startsWith("Windows")) {
f = new Font("Arial",Font.BOLD,10);
} else {
f = new Font("Verdana",Font.BOLD,12);
}
p.setFont(f);
p.add(new Button("Parcourir"));
p.setBackground(new Color(255, 255, 255));
add("North",p);
}
public boolean action(Event evt, Object arg) {
if (arg.equals("Parcourir")) {
System.out.println("OPEN CLICKED");
// cette méthode fonctionne
Frame parent = new Frame();
FileDialog fd = new FileDialog(parent, "Répertoire de l'image:", FileDialog.LOAD);
fd.show();
String selectedItem = fd.getFile();
if (selectedItem == null) {
// no file selected
} else {
// read the file
//System.out.println("reading file " + fd.getDirectory() + File.separator + fd.getFile() );
sFileName = fd.getDirectory() + File.separator + fd.getFile();
displayFile(sFileName);
}
} else return false;
return true;
}
public void paint(Graphics g)
{
int width, height;
if (img!=null) {
width = img.getWidth(this);
height = img.getHeight(this);
if (width < height) {
if (height <= 500) {
g.drawImage(img, 0, 40, this);
}else {
double ratio = 500 / (double) height;
double temp2 = width*ratio;
int temp = (int) temp2;
g.drawImage(img, 0, 40, temp, 500, this);
}
} else {
if (width <= 500) {
g.drawImage(img, 0, 40, this);
}else {
double ratio = 500 / (double) width;
double temp2 = height*ratio;
int temp = (int) temp2;
g.drawImage(img, 0, 40, 500, temp, this);
}
}
}
}
public void displayFile (String sFileName){
System.out.println("file name : " + sFileName);
try {
String slocalFileName = URLDecoder.decode(sFileName, "UTF-8");
System.out.println("slocalFileName : " + slocalFileName);
icon = new ImageIcon(slocalFileName);
img = icon.getImage();
repaint();
}
catch (Exception e)
{
System.out.println("erreur " + e.toString());
}
}
public String getString() {
return sFileName;
}
}