Génération d'une matrice [Résolu]

cs_crazysetup 30 Messages postés mardi 25 septembre 2007Date d'inscription 1 février 2010 Dernière intervention - 3 déc. 2008 à 00:31 - Dernière réponse : dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention
- 3 déc. 2008 à 11:12
Bonjour à tous, je suis sous NetBeans 6.5 et je cherche à génerer une matrice(vide pr l'instant), son ordre sera récupéré sur deux jTextFields.
Le problème vient apparement de cette fonction :

public void generer_table()
    {
       
            // Génération Matrice 1;
            int x1 = Integer.parseInt(jTextField1.getText());
            int y1 = Integer.parseInt(jTextField2.getText());
            jPanel1.setLayout(new GridLayout(2, 2));
            JTextField[] groupe1 = new JTextField[x1 * y1];
           
            for (int i = 0; i < (x1 * y1) - 1; i++) {
                jPanel1.add(groupe1[i]);
            }
            jPanel1.setVisible(true);
  }

et voici le stackTrace que je reçois :

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at java.awt.Container.addImpl(Container.java:1027)
        at java.awt.Container.add(Container.java:352)
        at calculmatriciel.Interface.generer_table(Interface.java:41)
        at calculmatriciel.Interface.jButton1ActionPerformed(Interface.java:249)
        at calculmatriciel.Interface.access$000(Interface.java:24)
        at calculmatriciel.Interface$1.actionPerformed(Interface.java:138)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6038)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Si vous avez une idée, éclairez moi svp !
Merci d'avance !
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 déc. 2008 à 11:12
3
Merci
Pense au résolu

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...

Merci dvoraky 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de dvoraky
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 déc. 2008 à 09:40
0
Merci
Salut,

Visiblement, tu utilises un Container qui n'a pas été instancié.
Je parierai sur jPanel1.

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
Commenter la réponse de dvoraky
cs_crazysetup 30 Messages postés mardi 25 septembre 2007Date d'inscription 1 février 2010 Dernière intervention - 3 déc. 2008 à 10:17
0
Merci
C'est NerBeans, les Container sont instanciés automatiquement !
Merci pour la réponse
Commenter la réponse de cs_crazysetup
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 déc. 2008 à 10:22
0
Merci
Ah... Ben visiblement non ^^
NetBeans, c'est vraiment.... bon je me tais.

Regarde quand même ton erreur --> NullPointerException !!!
C'est sûr et certain que tu utilises une variable qui n'a pas été instanciée, tes jTextField1 ou 2 ???

Vérifies bien... Sinon passes à Eclipse, lui te dira où tu as ton erreur...

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
Commenter la réponse de dvoraky
cs_crazysetup 30 Messages postés mardi 25 septembre 2007Date d'inscription 1 février 2010 Dernière intervention - 3 déc. 2008 à 10:24
0
Merci
Ok, je vais voir ca
Merci !
Commenter la réponse de cs_crazysetup
dvoraky 744 Messages postés dimanche 1 avril 2007Date d'inscription 9 mai 2010 Dernière intervention - 3 déc. 2008 à 10:25
0
Merci
Arf, non je suis bête.
Regardes bien.
Dans ta "matrice" de JTextField, groupe1, tu fait bien un new pour créer ta matrice mais à aucun moment tu instancies chaque case de ta matrice! Donc quand tu fais groupe1[i], ça vaut null !!!

Correction :
public void generer_table()
    {
       
            // Génération Matrice 1;
            int x1 = Integer.parseInt(jTextField1.getText());
            int y1 = Integer.parseInt(jTextField2.getText());
            jPanel1.setLayout(new GridLayout(2, 2));
            JTextField[] groupe1 = new JTextField[x1 * y1];
           
            for (int i = 0; i < (x1 * y1) - 1; i++) {
               groupe1[i] = new JTextField(10); // mets la taille que tu veux à ton champs
                jPanel1.add(groupe1[i]);
            }
            jPanel1.setVisible(true);
  }

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
Commenter la réponse de dvoraky
cs_crazysetup 30 Messages postés mardi 25 septembre 2007Date d'inscription 1 février 2010 Dernière intervention - 3 déc. 2008 à 11:09
0
Merci
Ca marche.
Merci Beacoup !
Commenter la réponse de cs_crazysetup

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.