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 :

Questions autour des applets


Sujet :

Applets Java

  1. #1
    Membre du Club
    Profil pro
    Info
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Info

    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Points : 46
    Points
    46
    Par défaut Questions autour des applets
    Salut tout le monde !

    Je suis confronté à un apparent problème de mémoire JAVA ou explorateur ou les deux mais au lieu de vous exposer mon code lourd et autres détails techniques, je me suis dis que je pourrais vous poser quelques question auxquelles je ne trouve pas de réponse ailleurs pour essayer de me mettre sur une piste.

    1) quelle est la signification dans la console JAVA de
    "basic: Récepteur de progression supprimé : sun.plugin.util.GrayBox...." ?

    2) lors de l'execution répétitive de mon applet sur ma page web lorsque ça ne plante pas, je peux remarquer que l'utilisation mémoire dans le gestionnaire des tâches de Windows pour l'executable java.exe augmente sans cesse.
    Donc y'a t'il un moyen de supprimer tout ce qui est en mémoire (concernant l'applet JAVA) en même temps que le lancement de mon applet ou juste avant ?

    3) dans mon php qui lance l'applet je voulais savoir s'il était possible de faire des prints (style popup par exemple) entre les deux bornes <APPLET> ? afin de savoir si c'est l'applet qui déconne ou les données transmises à l'applet qui sont incomplètes.

    Merci à tous !

  2. #2
    Membre du Club
    Profil pro
    Info
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Info

    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Points : 46
    Points
    46
    Par défaut Un peu plus de détails ...
    Ne voyant pas de réponse j'imagine que tout ceci était très mal formulé ....
    Je suis sur une piste pour mes problèmes de mémoire et je viens à vous pour mettre en application mes idées.

    Petit topo introductif de mise en situation.

    Je fais une page web pour afficher des données d'une base sous forme de graphique.
    J'ai donc tout un enchainement de "form" qui apparaissent en fonction des choix effectués (fait avec Javascript), appelés level1,2,3,4 et 5(le graph).
    La fin de cet enchainement propose un bouton "generate" associé à la fonction createGraph() :

    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
    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
    <script language="JavaScript">
    function createGraph() {
     
    		var xhr = getXhr();
    		xhr.onreadystatechange = function(){
    			if(xhr.readyState == 4 && xhr.status == 200){
    				var leselect = xhr.responseText;
    				document.getElementById('level5').innerHTML = leselect;
    			}
    		}
    		var newDateFirst;
    		var newDateLast;
    		var selectedList_level3 = new Array();
     
    		xhr.open("POST","displayGraph.php",true);
    		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            	var dateFirst = document.getElementById('idDateFirst').value;
            	var dateLast = document.getElementById('idDateLast').value;
    		//change date format for later comparison
    		try{
    			checkDateFirst=dateFirst.split("/");
                            newDateFirst=checkDateFirst[2]+checkDateFirst[1]+checkDateFirst[0];
    			checkDateLast=dateLast.split("/");
                            newDateLast=checkDateLast[2]+checkDateLast[1]+checkDateLast[0];
    		} catch(e) {}
     
            	//selection from level3
    		var sel_level3 = document.getElementById('level3').getElementsByTagName('SELECT');
    		for (var i=0; i<sel_level3.length; i++) {
    			for (var j=0; j<sel_level3[i].options.length; j++) {
    				if (sel_level3[i].options[j].selected) {
    				selectedList_level3.push(sel_level3[i].options[j].value);
    				}
    			}
    		}
    		//selection from level4
    		var sel_level4 = document.getElementById('sel_level4');
    		var repGraph= sel_level4.options[sel_level4.selectedIndex].value;
    		if (newDateFirst<newDateLast) {
     
    			xhr.send("sellevel3="+selectedList_level3.toString()+"&typeRepGraphique="+repGraph+"&dateFirst="+dateFirst+"&dateLast="+dateLast+"&dateErr=no");
    		}
    		else {
    			xhr.send("typeRepGraphique="+repGraph+"&dateFirst="+dateFirst+"&dateLast="+dateLast+"&dateErr=yes");
    		}
        	}
    </script>

    dans laquelle je fais appel à displayGraph.php dans lequel je récupère les données suivant les critères de recherche que j'envoie à l'applet JAVA via les bornes (ici simplifiées)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    echo "<APPLET\n";
    echo "CODEBASE=\"./applets\"";
    echo "CODE=\"applet.init.AppletGraph\" WIDTH=100% HEIGHT=600\n";
    echo "ARCHIVE=\"jcommon-1.0.16.jar, jfreechart-1.0.13.jar, jxl.jar, iText-5.0.1.jar, javacsv.jar, sAppletGraph.jar\">\n";
    echo "<PARAM NAME=data VALUE=\"".$data."\">\n";
    echo "</APPLET>\n";
    Ensuite j'ai le code de l'applet JAVA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class AppletGraph extends JApplet {
      public void init() {
     
        Où actuellement il y a tout le code !!!!!
     
      }
    }

    S'offre alors à l'utilisateur au moins 2 solutions quand l'applet a déjà été lancée une fois pour recharger l'applet:
    1 - re-clic sur "generate" (solution idéale)
    2 - recharger la page entière et refaire tous les choix dans les différents level

    Dans le cas 1, une partie de ce qui est sur la page web reste en mémoire et au fur et à mesure qu'on recharge l'applet la mémoire explose.
    Dans le cas 2, pas de soucis, excepté que c'est long et qu'il faut tout reprendre depuis le début les critères de la sélection ce qui rends désuète tout ce que j'ai développé jusque là dans ce sens.

    Donc en fait y'aurait-il un moyen de faire que ça se passe comme dans le cas 2 mais dans le cas 1 ?
    Ou autrement dit, y'a t-il un moyen de supprimer l'applet ou la JavaVM avant de recherger l'applet dans le cas 1 ?
    Est-ce possible eventuellement à l'aide les méthodes detroy() et Runtime.getRuntime().exit(int) et si oui comment ?

    Merci d'avoir lu jusqu'au bout !!!

Discussions similaires

  1. des questions autour de la certification Java JSE
    Par spring.time dans le forum Certifications
    Réponses: 2
    Dernier message: 25/09/2013, 14h54
  2. Question autours des tailles des types
    Par chronos_ dans le forum Langage
    Réponses: 1
    Dernier message: 06/08/2013, 11h01
  3. Question autour de l'architecture des solutions dans MVS
    Par sebbod dans le forum Visual Studio
    Réponses: 3
    Dernier message: 22/06/2012, 10h28
  4. [VxiR2] Questions autour des performances de Desktop Intelligence
    Par Migraine dans le forum Deski
    Réponses: 4
    Dernier message: 21/03/2011, 16h25
  5. [JSF] Questions autour des servlets
    Par maximus001ma dans le forum JSF
    Réponses: 4
    Dernier message: 25/07/2006, 13h27

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