IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applets Java Discussion :

[Applet] appel de methodes java en javascript


Sujet :

Applets Java

  1. #1
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut [Applet] appel de methodes java en javascript
    bonjour,
    j'ai une applet java dont certains paramètres sont initialisés par du javascript.
    voici le code:
    Code : 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
     
    <HTML>
    	<HEAD>
    		<TITLE>Applet java</TITLE>
    		<script language="JavaScript">
    			function initialiser(){
    				document.myApplet.setBrowser(navigator.appName);
    				document.myApplet.selectCertificate(null, null, "select certificate");
    			}
    		</script>
    	</HEAD>
    	<BODY BGCOLOR=white onLoad="initialiser()">
    		<H1>Applet java</H1>	
    		<HR>
    			<DIV ALIGN=center> 
    				<APPLET codebase="." CODE="AppletSignature.class" NAME="myApplet" WIDTH="300" HEIGHT="100" ARCHIVE="SApplet.jar,jss34.jar">
    				</APPLET>
    			</DIV>
    		<HR>
    	</BODY>
    </HTML>
    les methodes setBrowser et selectCertificate se trouvent dans mon applet mais ça n'a pas l'air de marcher et on dirait qu'il n'appelle jamais ces 2 methodes...

    [ Modéré par Bulbo ]
    Ajout d'un tag dans le titre
    Les Règles du Forum
    "Ce qui ne nous tue pas nous rend plus fort"
    Nietzsche

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut Re: appel de methodes java en javascript
    Citation Envoyé par soulhouf
    les methodes setBrowser et selectCertificate se trouvent dans mon applet mais ça n'a pas l'air de marcher et on dirait qu'il n'appelle jamais ces 2 methodes...
    c'est normal d'après moi... java et javascript ne sont pas fait pour cohabiter ensemble, c'est tout à fait différent. Un script JS peut fonctionner sans qu'une machine java soit installée sur le poste, tout comme une applet peut être lancée même si le navigateur ne supporte pas JS.
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  3. #3
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut Re: appel de methodes java en javascript
    Citation Envoyé par Pill_S
    c'est normal d'après moi... java et javascript ne sont pas fait pour cohabiter ensemble, c'est tout à fait différent. Un script JS peut fonctionner sans qu'une machine java soit installée sur le poste, tout comme une applet peut être lancée même si le navigateur ne supporte pas JS.
    je fais comment alors pour initialiser mon applet depuis la page html???
    "Ce qui ne nous tue pas nous rend plus fort"
    Nietzsche

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut Re: appel de methodes java en javascript
    Salut,

    Citation Envoyé par Pill_S
    c'est normal d'après moi... java et javascript ne sont pas fait pour cohabiter ensemble, c'est tout à fait différent.
    C'est ce que je pensais aussi... mais il est possible d'appeller des méthodes Java de l'applet...

    Par contre je ne me souvient plus de la syntaxe, peut être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.applets['myApplet'].setBrowser(navigator.appName);
    Sinon regarde dans ta console javascript pour connaitre l'erreur exacte...

    a++

  5. #5
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut Re: appel de methodes java en javascript
    Citation Envoyé par adiGuba
    Sinon regarde dans ta console javascript pour connaitre l'erreur exacte...
    en faite l'erreur ne provient pas du javascript mais de l'applet car j'ai reçu un "NullPointerException" car la methode "setBrowser" n'a pas été appelée.
    "Ce qui ne nous tue pas nous rend plus fort"
    Nietzsche

  6. #6
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public static void setBrowser(String browser){
            AppletSignature.browser = browser;
        }
    et plus loin j'affiche le contenu de browser pour vérifier que c'est bien initialisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        public void paint(Graphics g){
         g.drawString(browser, 25, 20);
        }
    et ça m'affiche bien "netscape" donc ça marche à priori mais mon applet se plante à chaque fois avec un "NullPointerException".
    peut etre que la methode init() de l'applet s'execute avant la fonction initialiser() de javascript...
    dans ce cas tout change
    "Ce qui ne nous tue pas nous rend plus fort"
    Nietzsche

  7. #7
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    là je viens de découvrir que le code de l'applet et celui du javascript sont exécutés en parallèle ce qui éxplique ce comportement étrange...
    en plus ça ralentit beaucoup l'exécution du code
    hmm je suis bien embêté là car j'ai vraiment besoin d'initialiser l'applet depuis ma page html.
    quelqu'un a-t-il une idée?
    "Ce qui ne nous tue pas nous rend plus fort"
    Nietzsche

  8. #8
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    La solution à ton problème (article écrit en anglais).
    Bien le bonjour chez vous
    Jowo

  9. #9
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    merci merci jowo tu m'as sauvé
    jowo t'assure
    "Ce qui ne nous tue pas nous rend plus fort"
    Nietzsche

  10. #10
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    oups j'ai eu une fausse joie, ça ne marche pas leur truc, j'arrive pas à afficher le contenu des variables!
    "Ce qui ne nous tue pas nous rend plus fort"
    Nietzsche

  11. #11
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Montre-nous ton code, stp.
    Bien le bonjour chez vous
    Jowo

  12. #12
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    quel code?
    l'exemple?
    Code : 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
     
    <HTML>
    <HEAD>
    <script language="JavaScript">
    var jsVar = "Hello World from jsVar";
     
    function jsFnct() {
      return "Hello World from jsFnct";
      }
     
    </SCRIPT>
    </HEAD>
    <BODY>
     
    <APPLET CODE ="MyApplet.class" HEIGHT=100 WIDTH=400>
      <PARAM NAME="first"  VALUE="&{jsVar};">
      <param name="second" value="&{jsFnct()};">
      <param name="third" value="&{'hello world'.toUpperCase() + ' from js Expression'};">
    </APPLET>
    </BODY></HTML>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    import java.applet.*;    
    import java.awt.*;    
     
    public class MyApplet extends Applet  {
     
     public void init() {
      add(new Label(getParameter("first")));
      add(new Label(getParameter("second")));
      add(new Label(getParameter("third")));
      }
     }
    mon code je l'ai posté au début...
    sinon ça sert à quoi les &{} dans les balises html s'il affiche les variables tels qu'elles sont?
    "Ce qui ne nous tue pas nous rend plus fort"
    Nietzsche

  13. #13
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par soulhouf
    sinon ça sert à quoi les &{} dans les balises html s'il affiche les variables tels qu'elles sont?
    d'après moi, c sûrement une sorte de raccourci pour appeler un code javascript. ça doit être équivalent à ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <APPLET CODE ="MyApplet.class" HEIGHT=100 WIDTH=400>
      <PARAM NAME="first"  VALUE="<script type="text/javascript">document.write(jsVar);</script>">
     
    ...
    mais c pas sûr...

    sinon, en php c très simple à faire, et comme c'est exécuté côté serveur avant l'envoi de la page vers le client, tu n'auras plus de problème de priorité ou d'ordre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <APPLET CODE ="MyApplet.class" HEIGHT=100 WIDTH=400>
      <PARAM NAME="first"  VALUE="<?=$a_var_to_print?>">
      ...
    mais faut pouvoir utiliser php


    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  14. #14
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Essaie avec ce code HTML:

    Code : 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
     
    Code: 
     
    <HTML> 
    <HEAD> 
    <script language="JavaScript"> 
    var jsVar = "Hello World from jsVar"; 
     
    function jsFnct() { 
      return "Hello World from jsFnct"; 
      } 
     
    </SCRIPT> 
    </HEAD> 
    <BODY> 
     
    <APPLET CODE ="MyApplet.class" HEIGHT=100 WIDTH=400> 
      <PARAM NAME="first"  VALUE="Premier"> 
      <param name="second" value="Deuxieme"> 
      <param name="third" value="Troisieme"> 
    </APPLET> 
    </BODY></HTML>
    Bien le bonjour chez vous
    Jowo

  15. #15
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    là ça marche, mais je fais comment pour récupérer le contenu d'une variable? :
    "Ce qui ne nous tue pas nous rend plus fort"
    Nietzsche

  16. #16
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Désolé de t'avoir causé cette fausse joie. Mias semble-t_il que les "javscript entities" (syntaxe: ?{xxxx} ne fonctionnent pas ou plus.
    Bien le bonjour chez vous
    Jowo

  17. #17
    Membre habitué Avatar de soulhouf
    Inscrit en
    Août 2005
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 213
    Points : 133
    Points
    133
    Par défaut
    ça y est j'ai trouvé la solution. pour ceux que ça intéresse voilà comment on fait.
    récapitulons: je veux récupérer des paramètres sur ma page html que je pourrais éxploiter dans une applet java.
    Code : 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
     
    <HTML>
    	<HEAD>
    		<TITLE>Applet java</TITLE>
     
    	</HEAD>
    	<BODY BGCOLOR=white>
    		<H1>Applet java</H1>	
    		<HR>
    			<DIV ALIGN=center> 
    				<APPLET codebase="." CODE="test.AppletSignature.class" NAME="myApplet" WIDTH="300" HEIGHT="100" ARCHIVE="SApplet.jar,jss34.jar">
    					<SCRIPT language="JavaScript">
    						document.write(" <PARAM NAME='browser'  VALUE=" + navigator.appName + ">");
    					</SCRIPT>
    				</APPLET>
     
    			</DIV>
    		<HR>
    	</BODY>
    </HTML>
    dans ce cas précis je récupère le nom de mon navigateur donc je suis obligé de passer par du javascript par le commande "navigator.appName "
    je récupère alors son contenu que je passe au paramètre du nom de "browser".
    voilà comment on fait pour récupérer ce paramètre dans l'applet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public void start(){
            browser = getParameter("browser");
            /*
             *bla bla bla
             */
        }
    voilà et le tour est joué
    "Ce qui ne nous tue pas nous rend plus fort"
    Nietzsche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/01/2011, 20h30
  2. Appel methode java en javascript
    Par foubou dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 12/06/2008, 16h31
  3. [applet] appeler des methodes d'un programme en C
    Par allserv dans le forum Applets
    Réponses: 7
    Dernier message: 20/03/2007, 11h03
  4. comment appeler une fonction JAVA en JAVASCRIPT ?
    Par heleneh dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 13/09/2005, 12h21
  5. comment appeler une fonction JAVA en JAVASCRIPT ?
    Par heleneh dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/09/2005, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo