IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

JDateChooser - NullPointerException incompréhensible


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Par défaut JDateChooser - NullPointerException incompréhensible
    Bonjour,
    Comme le titre l'indique, mon JDateChooser me lève une exception de je ne sais où et surtout je ne sais pas pourquoi...
    Je l'utilise en tant que Component dans un JPanel de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            jdateAction = new JDateChooser ();
            jdateAction.setDateFormatString ("dd/MM/yyyy");
            jdateAction.getJCalendar ().setTodayButtonVisible (true);
            jdateAction.getJCalendar ().setNullDateButtonVisible (true);
            JTextFieldDateEditor text = (JTextFieldDateEditor) jdateAction
                    .getDateEditor ().getUiComponent ();
            text.setEditable (false);
     
            GridBagConstraints gbc_jdateAction = new GridBagConstraints ();
            // parametrage de gbc_jdateAction, inutile de le mettre
     
            panelAction.add (jdateAction, gbc_jdateAction);
    L'exception survient lorsque, une fois que j'ai cliqué sur l'icône qui ouvre le JCalendar, je veux selectionner une date, il me sort une super exception qui tue...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    	at org.eclipse.wb.swing.FocusTraversalOnArray.cycle(FocusTraversalOnArray.java:65)
    	at org.eclipse.wb.swing.FocusTraversalOnArray.getComponentAfter(FocusTraversalOnArray.java:78)
    J'ai cherché partout je n'arrive pas à voir pourquoi. Même dans la demo du créateur de l'API (Kai todter), il fait la même chose que moi...

    Si quelqu'un a une idée je suis preneur parce que là vraiment je ne vois pas.
    J'utilise aussi des JDateCellEditor qui eux marchent niquel...

  2. #2
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    Bonjour,

    java.lang.NullPointerException signifie que tu tentes d'acceder à un objet mal ou pas initialisé.

    Avec ce que je vois je dirais à la ligne 65 de ton code.

    Sinon juste pour un test sur ce que je vois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JTextFieldDateEditor text = new JTextFieldDateEditor ();
    avant de lui mettre la valeur.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Par défaut
    Bonjour, merci pour ta réponse

    L'erreur est à la ligne 65 de FocusTraversalOnArray.java une classe à laquelle je n'ai pas touché.

    C'est une classe que j'ai récupéré car on me l'avait conseillée quand j'ai commencé mon projet. Etant donné qu'il a évolué depuis, j'ai supprimé le seul appel à cette classe qui était fait dans tout mon programme, à la création de ma frame principale. Du coup ça marche trés bien, mais je ne vois pas pourquoi ça levait une exception.
    Si cela peut interesser, voici le contenu la ligne 65 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (component.isEnabled() && component.isVisible() && component.isFocusable()) {
    				return component;
    			}
    C'est une classe appartenant à Google, voici le header de la classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    /**
     * Cyclic focus traversal policy based on array of components.
     * <p>
     * This class may be freely distributed as part of any application or plugin.
     * 
     * @author scheglov_ke
     */

  4. #4
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    Pour avoir cette erreur la seule possibilité c'est que component soit null, c'est à dire que component n'est pas initialisé ou à un moment aurait du prendre une valeur et ce n'est pas le cas.

    Mais si c'est de google se n'est pas possible :p. Pour avoir une meilleure idée est ce que cette classe ne prendrait pas dans son construteur un objet du même type que component par hasard?

    Sinon c'est la classe qui merdouille, c'est sa d'avoir du " freely distributed" :p.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 27
    Par défaut
    Le constructeur de la classe prend en paramètre un tableau de Component et était appellé dans ma frame de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    setFocusTraversalPolicy (new FocusTraversalOnArray (
                    new Component[] { contentPane }));
    Le seul moment où il y'a put y avoir une initialisation à null c'est surement dans la classe JDateChooser parce que j'ai fait quelques tests et à la création de l'objet et à son initialisation, il n'est pas null -___-

    En tout cas merci bien ! En plus ça m'a permis de me rendre compte que cette classe ne m'était as trés utile puisque visiblement le système de focus de Swing est déjà trés performant par défaut.
    La seule raison que je vois c'est peut être que l'on me l'a conseillé parce que j'utilise WindowBuilder de GWT...

    Aprés je ne sais pas, tout ce qui compte c'est que ça marche pour le moment !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/04/2014, 15h14
  2. Erreur NullPointerException incompréhensible
    Par Carlito08 dans le forum Débuter avec Java
    Réponses: 25
    Dernier message: 24/10/2012, 16h45
  3. incompréhension avec ado
    Par Orgied dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/05/2004, 18h24
  4. [WSAD5] probleme incompréhensible
    Par capitaine_banane dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 07/04/2004, 11h56
  5. [JSP] Erreur incompréhensible
    Par xxaragornxx dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 09/09/2003, 16h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo