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 HTML :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
<a href="javascript:alert(document.myApplet.getString());">chemin du r&eacute;pertoire</a>
renvoit 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 :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
<body bgcolor="#ffffff">
 
<applet codebase="./" code="test.class" archive="test2.jar" name="myApplet" width="500" height="500" MAYSCRIPT="TRUE"></applet>
    <!-- Fonction de test de récupération de données de l'applet  -->
    <a href="javascript:alert(document.myApplet.getString());">chemin du r&eacute;pertoire</a>
 
	<br>
 
	<script language="javascript">
	test = "testtest 
	document.write('<input type="text" name"libelle"  width"500" value = "'+ test +'">');
	document.write('<input type="button" value="test" onclick=this.form.libelle.value="azerty">');
	</script>
 
	<script type="text/javascript">
        var repertoire='chemin';
        var testId=document.getElementById('test');
        test.value=repertoire;
        </script>
 
	<form name="libelle">
	<input type="text" name="libelle" width="500" value="" text="test">
	<input type="button" value="test" onclick='this.form.libelle.value="'+repertoire+'"'>
	<img src="'+repertoire+'"> 
	<!-- onclick='document.forms["libelle"].elements["libelle"].value="document.myapplet.getString();"'> -->
	<input type="text" name="test" id="test" value="" />
	</form>	
</body>
</html>

Code de mon applet java qui affiche l'image et renvoi le chemin du répertoire :

Code java : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
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;
    }    
}