Bonjour,
J'ai un soucis d'exécution d'applet (construite avec le designer de JBuilder 9 Enterprise Education - c'est une autre version Professionnelle -).
Pour info : je débute avec les applets !
Pour résumer :
J'ai un projet avec des servlets (pour les traitements) et des JSP (pour les interfaces). Le serv d'appli est un Tomcat 4 quelque chose ...
Dans une de mes JSP, je veux intégrer une applet (avec des menus déroulants dépendants les uns des autres; exemple dans liste 1 je choisis item 5, ça modifie le contenu de la liste 2). Je pourrais faire ceci en JavaScript mais je dispose du designer de JBuilder et les applets sont quand même plus sécurisées que le JavaScript.
Donc j'ai procédé comme ceci :
Dans mon projet JBuilder, j'ai demandé la création d'une classe "test_applet" dont la classe de base est "java.applet". Avec le designer j'ai (dans un premier temps), juste inséré un label et un bouton (j'ai laissé par défaut le layout à borderLayout).
Quand j'ai appelé mon applet depuis ma page JSP, tout était OK.
Dans un deuxième temps, j'ai voulu placer d'autres composants (1 label, 2 Combo et un bouton) à des emplacements spécifiques; je suis donc passée en layout = XYLayout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <html> <title> Test Applet </title> <body bgcolor="white"> <h3> Test applet</h3> <jsp:plugin type="applet" code="test_applet.class" codebase="/rep1/rep2/" jreversion="1.2" width="300" height="300" > <jsp:fallback> Plugin tag OBJECT or EMBED not supported by browser. </jsp:fallback> </jsp:plugin> <p> </body> </html>
Dans mon projet JBuilder, je pointe sur la biblio "jbcl.jar" qui contient les classes pour le XYLayout. D'ailleurs à la compil, tout est OK.
Par contre lorsque j'appelle ma JSP contenant mon applet, plus rien ne s'affiche. Si j'exécute avec Mozilla et que j'affiche la console Java, le message d'erreur suivant m'est retourné :
Je me dis que ça vient du fait que l'applet est exécutée côté client mais en même temps je comprends pas pourquoi alors avec un BorderLayout, ça lui pose aucun soucis.java.lang.NoClassDefFoundError: com/borland/jbcl/layout/XYLayout
at test_applet8.<init>(test_applet8.java:13)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Bref :!!
Merci par avance à ceux qui pourront m'aiguiller vers une solution.
A.B
Partager