Afficher résultat d'une variable sans les alerts

phenix22000 Messages postés 11 Date d'inscription jeudi 13 novembre 2008 Statut Membre Dernière intervention 28 mars 2012 - 28 mars 2012 à 14:46
dvwyns Messages postés 159 Date d'inscription mardi 2 janvier 2007 Statut Membre Derniè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;
    }    
}

1 réponse

dvwyns Messages postés 159 Date d'inscription mardi 2 janvier 2007 Statut Membre Dernière intervention 7 mai 2012
30 mars 2012 à 14:52
Salut,

Utilise la fonction onload
<body onload="document.getElementsById('test').value = document.myApplet.getString();"


Enjoy
0
Rejoignez-nous