![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Applets Vos questions sur les Applets |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre du Club
![]() Date d'inscription: mai 2007
Messages: 98
|
Bonjour a tous.
Si un navigateur avec un Java 1.4 lance une page avec une applet compilé en Version 6, ça ne va pas marcher : ce n'est pas ça le problème.. (enfin quand même un peu.. ..mais plutot comment gérer les vieux clients. Le souci est apparu en particulier en testant avec des Mac Tiger (qui ne supporte pas les versions récentes de Java), mais la problématique reste valable avec des Windows avec des vielles JVM. On constatera au passage que par défaut aucun message ne s'affiche pour l'internaute lui indiquant que son JAVA est trop vieux (c'est pourtant le minimum que l'on devrait attendre de la JVM)... et après on va pleurer qu'il y a plus de Flash sur le web que d'Applet... Je ferme la parenthèse -> si l'on souhaite gérer le non-fonctionnement d'une applet récente sur une vieille JVM : Quel est le moyen le plus efficace (le plus utilisé) pour détecter la version de la JVM (tout OS confondu)? L'objectif est : - au pire d'afficher un message demandant à l'internaute la mise à Jour de sa JVM. - au mieux, proposer une alternative, par exemple une version de l'applet avec en moins les fonctionnalités évoluée des jdk supérieurs. J'ai lu lire sur un récent sujet (Applet : Bad version number ) que l'on peut spécifier des options à la compilation pour assurer le fonctionnement avec des versions inférieures. Qu'elle sont les limites de cette option ? Cela marche-t-il avec une applet codée avec des classes qui n'existe que dans la version supérieure ? Avec cette option peut-on envisager (dans la première classe chargée par exemple) de détecter la version courante de la JVM et de lancer ((toujours dans la même applet) la version la plus adaptée (instancier la bonne classe parmis plusieurs, chacune étant contruite pour une version spécifique d'un JDK)? Avant de modifier le code, je souhaiterais savoir ce qui ce fait, et connaitre les préconisations (les limites?) de codage dans ce contexte. Merci d'avance |
|
|
|
|
|
#2 (permalink) | ||
![]() |
Citation:
Citation:
Code :
Avec cette option peut-on envisager (dans la première classe chargée par exemple) de détecter la version courante de la JVM et de lancer ((toujours dans la même applet) la version la plus adaptée (instancier la bonne classe parmis plusieurs, chacune étant contruite pour une version spécifique d'un JDK)? tu compile tout en compatibilité (1.4 par exemple). T'as trois parties à ton code. La générale (uniquement des classes de 1.4) qui détecte la jvm et déclare quelques interfaces. La version 6 qui implémente ces interfaces et une version 4 qui implémente aussi ces interfaces (avec des noms différents). Ensuite tu charge par exemple la bonne version via un Class.forName(). Sinon le mieux reste de soit se coltiner à 1.4. Soit d'utiliser du javascript pour demander au user d'upgader la jvm (oui je sais, sous mac os x, l'upgrade jvm n'est possible qu'avec un upgrade de l'os)
__________________
Journaux de développement Apprenez a poser vos questions, si vous voulez que j'y réponde! Pas de Stacktrace, pas de chocolat! Questions techniques en privé lettre morte
|
||
|
|
|
|
![]() |
![]() |
||
Coder en gérant les vieilles versions JAVA.
|
||
| Outils de la discussion | |
|
|