Applet NetBeans HTML Probleme

Résolu
Signaler
Messages postés
36
Date d'inscription
dimanche 9 mars 2003
Statut
Membre
Dernière intervention
21 mai 2009
-
Messages postés
388
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
3 mai 2006
-
Bonjour,


je suis en train de developper une japplet sous NetBeans 5.0 Beta2. Tout se passe bien lorsque j'execute mon applet dans NetBeans avec l'applet viewer. Mon problème est lorsque j'essaye de l'appeler depuis mon explorateur IE.
La console java me sort l'erreur suivante :

java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(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)
Exception in thread "Thread-4" java.lang.NullPointerException
at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
at sun.plugin.AppletViewer.showAppletException(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
at sun.plugin.AppletViewer.showAppletStatus(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

J'ai donc cherché un peu partout mais rien ne me permet de me debloquer. Sur le site de NetBean ils parlent d'un fichier "swing layout 0-9.jar" à rajouter dans main project's classpath. Mais comment faire ? J'ai donc rajouter le fichier un peu partout mais ca ne lui plait pas plus. J'ai essayé sous Firefox cé la meme chose.
Il y a aussi une histoire de manifest.mf mais j'ai pas compris ce qu'ils voulaient me faire faire.

Mon fichier html est comme ceci:

Alors j'ai essayé avec le mot clé Object car Applet ne seré pas apprécié par les nouveaux explorateurs. Idem ca ne marche toujours pas.

Voilà mon pb. J'ose croire que ce n'est pas grand chose, mais je galère. Quand on ne sait pas on ne devine pas surtout quand on commence le Javax. ;)

Bon bein merci a ceux qui pourront m'aider...

;lmkl
A voir également:

5 réponses

Messages postés
36
Date d'inscription
dimanche 9 mars 2003
Statut
Membre
Dernière intervention
21 mai 2009

Nan t'as raison !!
Ca marche maintenant.
Pour les mecs qui passeront apres voici mon fichier HTML et mon arborescence.

Dans mon repertoire Build généré par NetBeans j'ai modifier le fichier .html



L'architecture des fichiers ces:
- Dans le repertoire Build j'ai le fichier TestJApplet.html et le repertoire classes
- Dans le repertoire classes j'ai le fichier swing-layout-0.9.jar que j'ai copié/collé de l'installede netbeans. Et dans ce repertoire classes j'ai le repertoire applettest
- Dans le repertoire applettest j'ai TestJApplet.class

Voila ca parait compliké cé fo. Ca parait désordonné cé vrai ! J'ai mis ca a l'arrache pour bien comprendre le fonctionnement.

PS: si vous voulez laisser le fichier swing-layout-0.9.jar là ou il est c'est a dire chez moi dans : C:\Program Files\netbeans-5.0beta2\ide6\modules\ext
il faut mettre dans la balize HTML :
archive="file///C:\Program Files\netbeans-5.0beta2\ide6\modules\ext\swing-layout-0.9.jar"
Mais bon ca sert pas a grand chose si vous le mettez chez un hebergeur genre Free, sinon fodra lui demandé son arborescence.

;lmkl
Messages postés
388
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
3 mai 2006
1
coucou,

essaye en faisant un jar contenant toutes tes classes (et aussi celles dont tu aurais besoin) et dans ta balise applet tu rajoute (et au passage, pas la peine d'ecrire ".class" dans l'attribut "code" ) :
archive="monJar.jar"

donc en gros :
Messages postés
36
Date d'inscription
dimanche 9 mars 2003
Statut
Membre
Dernière intervention
21 mai 2009

Voici le code de mon applet qui ne marche tj pas dans IE.
Manque t'il qqchose ?? Genre runnable...

package applettest;


import java.util.Arrays;
import javax.swing.*;


/**
*
* @author WatouBilly
*/
public class TestJApplet extends javax.swing.JApplet {

DefaultListModel listModel_1;
DefaultListModel listModel_2;

/** Initializes the applet TestJApplet */
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();

}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}


/** This method is called from within the init() method to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
listModel_1 = new DefaultListModel();


for(int i=0;i<10;i++)
{
listModel_1.add(i,"Voie "+i);
}
jList1 = new JList(listModel_1);
jScrollPane2 = new javax.swing.JScrollPane();
listModel_2 = new DefaultListModel();


jList2 = new JList(listModel_2);
jbtAdd = new javax.swing.JButton();
jbtRemove = new javax.swing.JButton();


jScrollPane1.setViewportView(jList1);


jScrollPane2.setViewportView(jList2);


jbtAdd.setToolTipText("Ajouter une voie");
jbtAdd.setLabel("Add");
jbtAdd.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jbtAddMouseClicked(evt);
}
});


jbtRemove.setText("Remove");
jbtRemove.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jbtRemoveMouseClicked(evt);
}
});


org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.add(34, 34, 34)
.add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 121, Short.MAX_VALUE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
.add(jbtRemove, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(jbtAdd, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 77, Short.MAX_VALUE))
.add(10, 10, 10)
.add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 121, Short.MAX_VALUE)
.add(35, 35, 35))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup()
.add(52, 52, 52)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 237, Short.MAX_VALUE)
.add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 237, Short.MAX_VALUE)))
.add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup()
.add(125, 125, 125)
.add(jbtAdd)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jbtRemove)))
.addContainerGap())
);
}// </editor-fold>


private void jbtRemoveMouseClicked(java.awt.event.MouseEvent evt) {
int idSelectedItem;

idSelectedItem = jList2.getSelectedIndex();

while(idSelectedItem != -1)
{
listModel_1.addElement(jList2.getSelectedValue());
listModel_2.removeElementAt(idSelectedItem);
idSelectedItem = jList2.getSelectedIndex();
}
}


private void jbtAddMouseClicked(java.awt.event.MouseEvent evt) {

int idSelectedItem;

idSelectedItem = jList1.getSelectedIndex();

while(idSelectedItem != -1)
{
listModel_2.addElement(jList1.getSelectedValue());
listModel_1.removeElementAt(idSelectedItem);

idSelectedItem = jList1.getSelectedIndex();
}
Arrays.sort(listModel_1.toArray()) ;

}


// Variables declaration - do not modify
private javax.swing.JList jList1;
private javax.swing.JList jList2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JButton jbtAdd;
private javax.swing.JButton jbtRemove;
// End of variables declaration

}

;lmkl
Messages postés
388
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
3 mai 2006
1
dans ton premier post, l'erreur te dit :

java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group

il n'arrive pas a trouver cette classe dans le classpath...

si elle se trouve dans un jar quelconque que tu as ajouté a ton projet, il faut que le rajoute dans le archive=""
(je crois qu'on peut mettre plusieurs chemin en les separant avec une virgule :

archive="monjar.jar,monautreJar.jar"
Messages postés
388
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
3 mai 2006
1
en fait tu peux copier coller le jar dans le meme repertoire que la page html, et dans ce cas ta pas a foutre tout le chemin.. question de feignantise hein ^^