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

Interfaces Graphiques en Java Discussion :

mettre a jour une fenetre avec validate();


Sujet :

Interfaces Graphiques en Java

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 57
    Points : 32
    Points
    32
    Par défaut mettre a jour une fenetre avec validate();
    Bonjour,

    je veux mettre à jour une fenetre avec la fonction validate(); mais ça me marque pointeur null mais je ne vois pas pourquoi.

    Quand je lance mon programme j'obtiens une fenêtre, quand je clique sur un bouton de cette fenêtre j'ouvre une deuxième fenêtre. C'est à partir de cette deuxième fenêtre que je voudrais mettre a jour la première fenêtre une fois que j'ai fais quelques modifications.

    Je vous met une parti de mon programme

    première fenêtre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    public class Quizz extends JFrame {
     
        /**
         *
         */
        private static final long serialVersionUID = 1L;
        static JPanel contentPane;
        static String quizzselect;
        static Container ct;
        static Quizz frame;
        ;
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        Quizz frame = new Quizz();
                        frame.setVisible(true);
                        ct = frame.getContentPane();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
     
        /**
         * Create the frame.
         */
        public Quizz() throws ClassNotFoundException, SQLException, InterruptedException {
    ....
    ....
    JButton btnNewButton = new JButton("Ajouter/Supprimer/Modiffier un quizz");
            btnNewButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                    try {
    // Lancement de la deuxième fenêtre
                        Modifquizz modifquizz = new Modifquizz();
                        modifquizz.setVisible(true);
     
     
                    } catch (ClassNotFoundException e1) {
                        e1.printStackTrace();
                    } catch (SQLException e1) {
                        e1.printStackTrace();
                    }
                }
            });
    deuxième fenêtre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    public class Modifquizz extends JFrame {
     
        /**
         *
         */
        private static final long serialVersionUID = 1L;
        private JPanel contentPane;
        private JList list;
        static Container cp;
        private JScrollPane scroller;
        int c = 10;
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        Modifquizz frame = new Modifquizz();
                        frame.setVisible(true);
                        cp = frame.getContentPane();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    public Modifquizz() throws ClassNotFoundException, SQLException {
    ....
    ....
    list.addListSelectionListener(new ListSelectionListener() {
                public void valueChanged(ListSelectionEvent e) {
    ....
    ....
     
    Quizz.frame.validate(); // c'est cette ligne qui indique un ponteur null
    ......

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    Tu déclares dans ta classe Quizz une variable qui est initialisée a NULL :

    Et comme tu ne l'initialise jamais, ben ca reste NULL et donc tu as un nullpointeur exception.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 57
    Points : 32
    Points
    32
    Par défaut
    je l'instancie, ça ne suffit pas ?

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    Citation Envoyé par thejavator Voir le message
    je l'instancie, ça ne suffit pas ?
    Ici ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public void run() {
                    try {
                        Quizz frame = new Quizz();
                        frame.setVisible(true);
                        ct = frame.getContentPane();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
    Non tu instancie une autre variable, pas celle de la classe.

    Le plus simple serait de ne pas jouer avec des static. De placer une variable dans la classe "fille" vers son parent. (et/ou l'inverse si nécessaire mais dans un des 2 cas c'est implicite). Sans faire d'accès direct par un static. (Mais ce n'est pas interdit).

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 57
    Points : 32
    Points
    32
    Par défaut
    oui je parlais pour ça, j'ai supprimé "Quizz" quand je l’instancie et la je n'ai plus d'erreur mais la fenêtre ne se met pas à jour

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    De ce que je comprends, tu fais juste un validate sur la frame. Mais tes textfield et autres component tu sembles pas updaté leur contenu... donc forcement rien ne va s'updater au niveau des valeurs.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 57
    Points : 32
    Points
    32
    Par défaut
    merci ! c'est bon je pensais que le validate recommençais tout les "calculs" de la classe j'ai recalculer les éléments dans la Jlist du Quizz et ça se met à jour

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

Discussions similaires

  1. [MySQL] Mettre a jour une table avec des checkbox
    Par dlecteur dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 07/09/2010, 12h50
  2. Réponses: 3
    Dernier message: 18/07/2006, 18h37
  3. [VB6]Mettre à jour une table avec les valeurs d'une DATAGrid
    Par mbzhackers dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 26/05/2006, 21h56
  4. Réponses: 2
    Dernier message: 02/05/2006, 10h50

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