Comment interpreter cette erreur en java?

Comment interpreter cette erreur en java? - Java - Programmation

Marsh Posté le 17-03-2005 à 14:37:12    

PB Actuel:
j'ai une érreur quand je clique sur un bouton:
 

Exception occurred during event dispatching:
java.lang.NullPointerException
        at FenAjout.getQ(FenAjout.java:165)
        at EcouteurBoutonGT.actionPerformed(FenAjout.java:193)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:14
50)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
ctButton.java:1504)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:378)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:216)
        at java.awt.Component.processMouseEvent(Component.java:3715)
        at java.awt.Component.processEvent(Component.java:3544)
        at java.awt.Container.processEvent(Container.java:1164)
        at java.awt.Component.dispatchEventImpl(Component.java:2593)
        at java.awt.Container.dispatchEventImpl(Container.java:1213)
        at java.awt.Component.dispatchEvent(Component.java:2497)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
 
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
        at java.awt.Container.dispatchEventImpl(Container.java:1200)
        at java.awt.Window.dispatchEventImpl(Window.java:926)
        at java.awt.Component.dispatchEvent(Component.java:2497)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:131)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:98)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)


 
Voici ce que je veux faire avec mon bouton:
 


class EcouteurBoutonGT implements ActionListener
{
 private FenAjout f1;
 
 EcouteurBoutonGT (FenAjout f)
 {
  this.f1 = f;
 }
 
 public void actionPerformed(ActionEvent ae)
 {
   
  FenTest f;
   
  if (f1.verifQuestion())
  {
   // Lance la fenetre de test
   f = new FenTest("Test Question", 350, 200, f1.getQ());
   f.setVisible(true);
  }    
   
 }  
}


Comment interpreter ce genre d'erreur?
 
 
 
 
 
 
PB 1: Résolu

Bonjour,
 
Qu'elle est la méthode qui permet de teter si une donnée saisie est un chiffre ou bien un caractère autre qu'un chiffre?
 
Merci


Message édité par jijiz le 17-03-2005 à 15:55:44
Reply

Marsh Posté le 17-03-2005 à 14:37:12   

Reply

Marsh Posté le 17-03-2005 à 14:59:36    

jijiz a écrit :

Bonjour,
 
Qu'elle est la méthode qui permet de teter si une donnée saisie est un chiffre ou bien un caractère autre qu'un chiffre?
 
Merci


 
'lut
 
à ma connaissance, il nya rien dans l'api
tu peux éventuellement essayer de transformer ton nombre en objet Integer ou Double

Code :
  1. Double dd = new Double(String)

, et gérer les exceptions, mais je n'ai pas essayé
 
je te libre ici une solution "empruntée" de mes réminiscences du C (test du caractère par rapport à sa valeur int), qui n'est certainement pas optimisée, mais qui a le mérite de fonctionner:

Code :
  1. class MaClasse {
  2.   boolean isLettre(char c) {
  3.     if (( (c >= 65) && (c <= 90) ) || ( (c >= 97) && (c <= 122) )) return true;
  4.     else return false;
  5.   }
  6.   boolean isNombre(char c) {
  7.     if ( (c >= 48) && (c <= 57) ) return true;
  8.     else return false;
  9.   }
  10.   boolean isTiretOuSouligne(char c) {
  11.     if ( (c == 45) || (c == 95) ) return true;
  12.     else return false;
  13.   }
  14.   boolean isNomCompteOK(String nomCompte) {
  15.     boolean isOK = true;
  16.     char[] nomCompteChar;
  17.     nomCompte = nomCompte.trim();
  18.     nomCompteChar = nomCompte.toCharArray();
  19.     for (int i = 0 ; i < nomCompteChar.length ; i++)
  20.       if (!( this.isLettre(nomCompteChar[i]) || this.isTiretOuSouligne(nomCompteChar[i]))) isOK = false;
  21.     return (isOK);
  22.   }
  23. }


 
à toi de faire les modifs pour correspondre exactement à ta demande...
 
a+ ;)


---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Marsh Posté le 17-03-2005 à 15:32:57    

il y a aussi les expressions régulières qui te le permettent....

Reply

Marsh Posté le 17-03-2005 à 15:39:01    

oui mais les expressions régulières c'est uniquement à partir du jdk 1.4
pas toujours génial en terme de portabilité
enfin, je parle de mon expérience perso, sinon c'est clair que c 10000 fois plus simple :) : 1 ligne contre 20!!!


---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Marsh Posté le 17-03-2005 à 15:45:02    

si tu pase par un textfield, t'a les formatted text field, et globalement, intéresse toi aux classe Format..t'a un NumberFormat qui peut t'aider


Message édité par Jubijub le 17-03-2005 à 15:48:05

---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 17-03-2005 à 15:53:02    

Jubijub a écrit :

si tu pase par un textfield, t'a les formatted text field, et globalement, intéresse toi aux classe Format..t'a un NumberFormat qui peut t'aider


ok je vais chercher, Merci.


Message édité par jijiz le 17-03-2005 à 15:54:30
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed