Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2885 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  java.lang.NullPointerException [ résolu ]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

java.lang.NullPointerException [ résolu ]

n°1072081
chaica
Posté le 04-05-2005 à 16:29:04  profilanswer
 

Bonjour,
 
je code une fenêtre qui permet de changer le look and feel à partir d'une interface en bouton radio. Jusqu'ici rien de bien complexe. Voici mon code:

Code :
  1. laf=UIManager.getInstalledLookAndFeels();
  2.  System.out.println ( "on a :" + laf.length ) ;
  3.  ButtonGroup groupe = new ButtonGroup () ;
  4.  JRadioButton tableauBouton [] = new JRadioButton[ laf.length ] ;
  5.  for ( int lafNo = 0 ; lafNo < laf.length ; lafNo++ ) {
  6.   System.out.println ( "lafNo :" + lafNo ) ;
  7.   if ( lafNo == 0 ) {
  8.    tableauBouton[ lafNo ] = new JRadioButton ( UIManager.getLookAndFeel().getName() , true ) ;
  9.   }
  10.   else {
  11.    tableauBouton[ lafNo ] = new JRadioButton ( UIManager.getLookAndFeel().getName() ) ;
  12.   }
  13.   groupe.add ( tableauBouton[ lafNo ]  ) ;
  14.   contenu. add( tableauBouton[ lafNo ] ) ;
  15.   tableauBouton[ lafNo ].addActionListener ( this ) ;


 
Ca compile bien, mon interface correspond à ce que je veux. Pour faire ça dynamiquement j'utilise un tableau de boutons.
 
Mais lorsque je veux attraper l'évènement qui correspond aux changements des boutons radio j'ai un nullpointerexception sur la ligne du if:

Code :
  1. public void actionPerformed ( ActionEvent ev ) {
  2.  for ( int lafNo = 0 ; lafNo < laf.length ; lafNo++ ) {
  3.   System.out.println ("valeur de laf :" + laf.length + " valeur de lafNo :" + lafNo ) ;
  4.   if ( ev.getSource () == tableauBouton[ lafNo ] ) {
  5.    try {
  6.     UIManager.setLookAndFeel ( laf [ lafNo ] .getClassName () );
  7.     SwingUtilities.updateComponentTreeUI ( fenP );
  8.     System.out.println ( "on est passe au bon endroit" ) ;
  9.    } catch ( Exception ex ) {
  10.     System.out.println ( "problem avec lookandfeel" ) ;
  11.    }
  12.   }
  13.  }
  14. }


 
Ca doit être simple et je dois avoir des oeillères mais je vois pas d'où ça vient. Si vous avez une idée elle est la bienvenue.
@++


Message édité par chaica le 04-05-2005 à 17:29:11

---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
mood
Publicité
Posté le 04-05-2005 à 16:29:04  profilanswer
 

n°1072084
cesarr89
Posté le 04-05-2005 à 16:30:11  profilanswer
 

Ya pas lgtps, ya eu un topic où justement je sais plus qui expliquait la NPE...

n°1072088
Cherrytree
cn=?
Posté le 04-05-2005 à 16:31:53  profilanswer
 

Il est initialisé comment tableauBouton ? D'après ce que je comprends de ton code, il se pourrait bien qu'il soit null.


---------------
Le site de ma maman
n°1072091
Cherrytree
cn=?
Posté le 04-05-2005 à 16:33:00  profilanswer
 

cesarr89 a écrit :

je sais plus qui


 
Un type insignifiant, t'occupe.


---------------
Le site de ma maman
n°1072092
cesarr89
Posté le 04-05-2005 à 16:33:30  profilanswer
 

oops, c'etait toi? Milles excuses

n°1072093
uriel
blood pt.2
Posté le 04-05-2005 à 16:34:32  profilanswer
 

[:rofl]


---------------
IVG en france
n°1072099
cesarr89
Posté le 04-05-2005 à 16:36:56  profilanswer
 

Je suis vraiment dsl Cherrytree

n°1072102
Cherrytree
cn=?
Posté le 04-05-2005 à 16:38:51  profilanswer
 

cesarr89 a écrit :

Je suis vraiment dsl Cherrytree


C'était pas moi, c'était le vrai moins moins : la mèche derrière le belge.


---------------
Le site de ma maman
n°1072103
chaica
Posté le 04-05-2005 à 16:39:30  profilanswer
 

tableauBouton est initialisé au début de ma classe comme suit:

Code :
  1. public JRadioButton tableauBouton [ ] ;


 
 
ensuite dans le morceau de code que j'ai donné:

Code :
  1. JRadioButton tableauBouton [] = new JRadioButton[ laf.length ] ;


 
 
et les boutons sont crées par:

Code :
  1. tableauBouton[ lafNo ] = new JRadioButton ( UIManager.getLookAndFeel().getName() ) ;



Message édité par chaica le 04-05-2005 à 16:44:49

---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
n°1072104
cesarr89
Posté le 04-05-2005 à 16:40:27  profilanswer
 

Citation :

C'était pas moi, c'était le vrai moins moins : la mèche derrière le belge


 
Dsl pour lui alors.

mood
Publicité
Posté le 04-05-2005 à 16:40:27  profilanswer
 

n°1072126
sircam
I Like Trains
Posté le 04-05-2005 à 16:53:43  profilanswer
 

Topic passage obligé pour les débutants
 
Vrai mwin mwin et consorts.
[:moundir]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1072129
chaica
Posté le 04-05-2005 à 16:54:15  profilanswer
 

Je viens de lire la doc de la nullpointerexception et il faudrait apparement que la valeur à laquelle j'accède soit null pour lancer cette exception.


---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
n°1072143
Cherrytree
cn=?
Posté le 04-05-2005 à 17:01:26  profilanswer
 

cesarr89 a écrit :

Citation :

C'était pas moi, c'était le vrai moins moins : la mèche derrière le belge


 
Dsl pour lui alors.


On est tous un peu désolé pour moins moins.
 
chaica > je vois pas.


---------------
Le site de ma maman
n°1072147
sircam
I Like Trains
Posté le 04-05-2005 à 17:03:15  profilanswer
 

chaica a écrit :

Je viens de lire la doc de la nullpointerexception et il faudrait apparement que la valeur à laquelle j'accède soit null pour lancer cette exception.


Beh ouais, c'est l'idée d'un NPE  [:airforceone]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1072157
Nicolas_75
Posté le 04-05-2005 à 17:13:49  profilanswer
 

Bonjour,
 
Tu as deux tableauBouton différents.
L'un est un attribut de la classe, jamais initialisé :

Code :
  1. public JRadioButton tableauBouton [ ] ;


L'autre est défini dans ta méthode, et est initialisé :

Code :
  1. JRadioButton tableauBouton [] = new JRadioButton[ laf.length ] ;


 
Dans la boucle "if" du actionPerformed qui pose problème, le tableauBouton appelé est naturellement le premier (l'attribut de la classe), jamais initialisé.
 
Remplacer  

Code :
  1. JRadioButton tableauBouton [] = new JRadioButton[ laf.length ] ;


par

Code :
  1. tableauBouton = new JRadioButton[ laf.length ] ;


devrait résoudre le problème.
 
Nicolas
 
PS - cela ne cause pas d'erreur, mais ne devrais-tu pas remplacer
UIManager.getLookAndFeel().getName()
par
laf[lafNo].getName()
dans ta boucle de création des boutons, pour faire correspondre ces boutons à tous les LAF disponibles ?
 
Nicolas


Message édité par Nicolas_75 le 04-05-2005 à 17:16:09
n°1072159
the real m​oins moins
Posté le 04-05-2005 à 17:16:03  profilanswer
 

[:klem3i1]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1072175
chaica
Posté le 04-05-2005 à 17:26:38  profilanswer
 

Aïe aïe aïe. Merci beaucoup, j'aurai sûrement mis bcp de temps à comprendre mon erreur. Ton ps aussi m'a aidé . Grand merci (pour la seconde fois en 2 jours :) )


---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
n°1072260
sircam
I Like Trains
Posté le 04-05-2005 à 18:34:19  profilanswer
 


Alors, Docteur, s'agit-il bien d'une NPE traitée par votre tutoriel ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1072365
Jubijub
Parce que je le VD bien
Posté le 04-05-2005 à 20:23:30  profilanswer
 

en l'occurence c moi qui en aie parlé dans le topic  :whistle:


---------------
Jubi Photos : Flickr - 500px
n°1072370
sircam
I Like Trains
Posté le 04-05-2005 à 20:25:23  profilanswer
 

Jubijub a écrit :

en l'occurence c moi qui en aie parlé dans le topic  :whistle:


J'avais bien dit "Vrai mwin mwin et consorts". Nous sommes les consorts, les petites mains qui font le boulot alors que mwinmwin récolte la gloire! :fou:


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1072416
Jubijub
Parce que je le VD bien
Posté le 04-05-2005 à 21:30:31  profilanswer
 

oui, c't'un scandale....
 
je propose une grève le 16 pour mettre fin à cet état de fait


---------------
Jubi Photos : Flickr - 500px
n°1072420
sircam
I Like Trains
Posté le 04-05-2005 à 21:33:47  profilanswer
 

Mwin mwin, si t'es un homme, viens t'batt' ! [:florentg]


Message édité par sircam le 04-05-2005 à 21:34:06

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1072454
Jubijub
Parce que je le VD bien
Posté le 04-05-2005 à 21:54:28  profilanswer
 

(la grève c une private joke, aujourd'hui au boulot les gars de la CGT ou un vrai syndicat, je sais plus, sont venu en bande poser des tracts contre la journée de solidarité.
 
Pour les non français, le gouvernement fra a décidé que les français se verraient sucrer un jour férié, qui sera travaillé normalement, le bénéfice de charge sup étant destiné aux petits vieux...
 
et donc ct un appel à la grève


---------------
Jubi Photos : Flickr - 500px
n°1072457
the real m​oins moins
Posté le 04-05-2005 à 21:55:37  profilanswer
 

http://simogeo.free.fr/hfr/pingouino_cavalier.gif


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1072515
uriel
blood pt.2
Posté le 04-05-2005 à 22:55:49  profilanswer
 

[:pingouino] gniiiiiii


---------------
IVG en france
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  java.lang.NullPointerException [ résolu ]

 

Sujets relatifs
créer un mail par une ligne de code C# [résolu][JAVA][JMS][JBOSS] The connection has already a clientID
[JAVA] Vider une JComboBox ?Message d'erreur - requete SQL (resolu)
Comment sortir d'une fonction avant sa fin "normale" ... [Resolu]ecrire dans un fichier en java et l'indenter
transmission de plusieurs variable par l'url[java] JTree : noeud vide qui resemble à un repertoire ?
[JAVA/Résolu] problème de rafraichissement avec une image ... 
Plus de sujets relatifs à : java.lang.NullPointerException [ résolu ]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR