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

Agents de placement/Fenêtres Java Discussion :

Affichage d'un graphe sur un panel d'un autre JFrame


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 21
    Points : 19
    Points
    19
    Par défaut Affichage d'un graphe sur un panel d'un autre JFrame
    Bonjour,

    J'ai créé une fenetre JFrame avec un panel et un bouton,
    Je veux que lorsqu'on clique sur le bouton un graphe s'affiche.
    Mais le problème c'est que lorsque j'ai clique ça n'affiche rien et ça ne génère aucune erreur.
    Voici le code que j'ai utilisé :

    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
     
    public class Graphe_Hello_World 
    {
        MyFrame frame;
        //Le constructeur 
        public Graphe_Hello_World(MyFrame f)
        {
            super();
            mxGraph graph = new mxGraph();
            frame = f;
            //On récupère la racine du graphe
            Object parent = graph.getDefaultParent();
     
            //On commence la création des noeuds 
            graph.getModel().beginUpdate();
     
            try
            {
                Object v1 = graph.insertVertex(parent, null, "Hello", 300, 40, 40, 40);            
                Object v3 = graph.insertVertex(parent, null, "World", 300, 90, 40, 40);           
                graph.insertEdge(parent, null, "Edge", v1, v3);
            }
            finally
            {
                graph.getModel().endUpdate();
            }
     
            mxGraphComponent graphComponent = new mxGraphComponent(graph);
            frame.add_graph(graphComponent);
     }
    Et j'ai implémenté dans le JRame MyFrame la méthode add_graph

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     public void add_graph(mxGraphComponent g_component)
        {
            panel_graphe.add(g_component);
            panel_graphe.repaint();
            panel_graphe.revalidate();
            this.repaint();
            this.revalidate();
        }
    Et j'ai ajouté un bouton dans MyFrame, je veux que lorsqu'on clique sur ce bouton le graphe s'affiche, pour cela j'ai ajouté l'event
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // TODO add your handling code here:
            try
            {
                Graphe_Hello_World hw = new Graphe_Hello_World(this);
            }
            catch(Exception e)
            {
                System.out.println("Erreur lors de la génération du graphe");
            }
        }
    Est-ce que vous pouvez m'aider SVP c'est urgent.
    Merci.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    C'est quoi le code de MyFrame ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 21
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,

    C'est quoi le code de MyFrame ?
    MyFrame c'est le nom de mon JFrame Form

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Maroua Mima Voir le message
    MyFrame c'est le nom de mon JFrame Form
    Ça, je m'en doute bien. Mais sans le code, comment pourrait-on savoir comment est faite cette classe (par exemple, qu'est-ce que panel_graphe, comment est-il construit, où est-il placé ? etc.)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 21
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Ça, je m'en doute bien. Mais sans le code, comment pourrait-on savoir comment est faite cette classe (par exemple, qu'est-ce que panel_graphe, comment est-il construit, où est-il placé ? etc.)
    Ah d'accord, c'est par ce que je travaille sous netBeans j'avais généré le JFrame directement. Voici le code de MyFrame :
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
     
    package Pack;
    import com.mxgraph.swing.mxGraphComponent;
    import javax.swing.JPanel;
     
    public class MyFrame extends javax.swing.JFrame {
        public MyFrame() {
        }
        public JPanel get_panelGraphe()
        {
            return this.panel_graphe;
        }
        public void add_graph(mxGraphComponent g_component)
        {
            panel_graphe.add(g_component);
            panel_graphe.repaint();
            panel_graphe.revalidate();
            this.repaint();
            this.revalidate();
        }
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
     
            Panel_global = new javax.swing.JPanel();
            panel_graphe = new javax.swing.JPanel();
            jButton1 = new javax.swing.JButton();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
     
            javax.swing.GroupLayout panel_grapheLayout = new javax.swing.GroupLayout(panel_graphe);
            panel_graphe.setLayout(panel_grapheLayout);
            panel_grapheLayout.setHorizontalGroup(
                panel_grapheLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 455, Short.MAX_VALUE)
            );
            panel_grapheLayout.setVerticalGroup(
                panel_grapheLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 313, Short.MAX_VALUE)
            );
     
            jButton1.setText("Afficher le graphe");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
     
            javax.swing.GroupLayout Panel_globalLayout = new javax.swing.GroupLayout(Panel_global);
            Panel_global.setLayout(Panel_globalLayout);
            Panel_globalLayout.setHorizontalGroup(
                Panel_globalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(Panel_globalLayout.createSequentialGroup()
                    .addGap(39, 39, 39)
                    .addComponent(panel_graphe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(43, Short.MAX_VALUE))
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, Panel_globalLayout.createSequentialGroup()
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(191, 191, 191))
            );
            Panel_globalLayout.setVerticalGroup(
                Panel_globalLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(Panel_globalLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(panel_graphe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(26, 26, 26)
                    .addComponent(jButton1)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            );
     
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(Panel_global, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(Panel_global, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            );
     
            pack();
        }// </editor-fold>                        
     
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            try
            {
                Graphe_Hello_World hw = new Graphe_Hello_World(this);
            }
            catch(Exception e)
            {
                System.out.println("Erreur lors de la génération du graphe");
            }
        }                                        
     
     
        public static void main(String args[]) {
           try {
                for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                    if ("Nimbus".equals(info.getName())) {
                        javax.swing.UIManager.setLookAndFeel(info.getClassName());
                        break;
                    }
                }
            } catch (ClassNotFoundException ex) {
                java.util.logging.Logger.getLogger(MyFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(MyFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(MyFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(MyFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            //</editor-fold>
     
            /* Create and display the form */
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new MyFrame().setVisible(true);
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.JPanel Panel_global;
        private javax.swing.JButton jButton1;
        private javax.swing.JPanel panel_graphe;
        // End of variables declaration                   
    }

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    La méthode initComponents(), celle qui créé les composants censés être affichées dafenêtre, n'est appelée nulle part. Je m'étonne que tu voies même un bouton sur lequel cliquer.

    Tu as dû modifier quelque chose lors de la génération de la fenêtre. Déjà, essaye juste de mettre l'appel à initComponents dans le constructeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class MyFrame extends javax.swing.JFrame {
        public MyFrame() {
            initComponents();
        }
     
       /* ... */
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 21
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    La méthode initComponents(), celle qui créé les composants censés être affichées dafenêtre, n'est appelée nulle part. Je m'étonne que tu voies même un bouton sur lequel cliquer.

    Tu as dû modifier quelque chose lors de la génération de la fenêtre. Déjà, essaye juste de mettre l'appel à initComponents dans le constructeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class MyFrame extends javax.swing.JFrame {
        public MyFrame() {
            initComponents();
        }
     
       /* ... */
     
    }
    Si je peux voir le bouton comme montré dans la figure suivante
    Nom : capture.png
Affichages : 678
Taille : 5,8 Ko
    les composants sont ajoutés avec ces lignes de code (ces lignes sont insérées automatiquement en bas)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     // Variables declaration - do not modify                     
        private javax.swing.JPanel Panel_global;
        private javax.swing.JButton jButton1;
        private javax.swing.JPanel panel_graphe;
        // End of variables declaration
    par ce que je n'ai rien modifié, j'ai juste crée un JFrame Form, Ensuite j'ai glissé un panel "Panel_global", un panel "panel_graphe" et un bouton "jButton1"
    Ensuite,j'ai créé la méthode add_graphe, et dans le ActionListener de jButton1, j'au mis le code pour ajouter le graphe

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Maroua Mima Voir le message
    Si je peux voir le bouton comme montré dans la figure suivante
    Nom : capture.png
Affichages : 678
Taille : 5,8 Ko
    les composants sont ajoutés avec ces lignes de code (ces lignes sont insérées automatiquement en bas)
    Alors ce n'est pas le code que tu me montres que tu exécutes.
    Citation Envoyé par Maroua Mima Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     // Variables declaration - do not modify                     
        private javax.swing.JPanel Panel_global;
        private javax.swing.JButton jButton1;
        private javax.swing.JPanel panel_graphe;
        // End of variables declaration
    Ce ne sont que des déclarations de variables : rien d'autres. Déclarer des variables n'a jamais rien fait d'autre que déclarer des variables (sans autre valeur que null pour celles-ci).

    Citation Envoyé par Maroua Mima Voir le message
    par ce que je n'ai rien modifié, j'ai juste crée un JFrame Form, Ensuite j'ai glissé un panel "Panel_global", un panel "panel_graphe" et un bouton "jButton1"
    Ensuite,j'ai créé la méthode add_graphe, et dans le ActionListener de jButton1, j'au mis le code pour ajouter le graphe
    Le code qui initialise les variables citées ci-avant est dans la méthode initComponents() et il n'y a pas d'appel à cette méthode dans le code que tu montres. Y'a pas à tortiller : une méthode ne s'exécute que si elle est appelée.

    Si je crée une frame dans NetBeans (8), et que j'y colle un JPanel et un JButton, j'obtiens ce code :
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package javaapplication2;
     
    /**
     *
     * @author jdrigo
     */
    public class NewJFrame extends javax.swing.JFrame {
     
        /**
         * Creates new form NewJFrame
         */
        public NewJFrame() {
            initComponents();
        }
     
        /**
         * This method is called from within the constructor to initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is always
         * regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
     
            jPanel1 = new javax.swing.JPanel();
            jButton1 = new javax.swing.JButton();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
     
            jButton1.setText("jButton1");
     
            javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
            jPanel1.setLayout(jPanel1Layout);
            jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                    .addContainerGap(17, Short.MAX_VALUE)
                    .addComponent(jButton1)
                    .addContainerGap())
            );
            jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addGap(30, 30, 30)
                    .addComponent(jButton1)
                    .addContainerGap(47, Short.MAX_VALUE))
            );
     
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(118, 118, 118)
                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(182, Short.MAX_VALUE))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(90, 90, 90)
                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(110, Short.MAX_VALUE))
            );
     
            pack();
        }// </editor-fold>                        
     
        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) {
            /* Set the Nimbus look and feel */
            //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
            /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
             * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
             */
            try {
                for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                    if ("Nimbus".equals(info.getName())) {
                        javax.swing.UIManager.setLookAndFeel(info.getClassName());
                        break;
                    }
                }
            } catch (ClassNotFoundException ex) {
                java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            //</editor-fold>
     
            /* Create and display the form */
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new NewJFrame().setVisible(true);
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.JButton jButton1;
        private javax.swing.JPanel jPanel1;
        // End of variables declaration                   
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 21
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Alors ce n'est pas le code que tu me montres que tu exécutes.
    Voilà, j'ai créé à nouveau un projet java, dans lequel j'ai ajouté un JFrame Form "MyFrame" et la classe "graphe_Hello_World".
    Voici le code des deux classe
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
     
     
    package pack;
     
    import com.mxgraph.swing.mxGraphComponent;
     
    public class MyFrame extends javax.swing.JFrame {
     
        /**
         * Creates new form MyFrame
         */
        public MyFrame() {
            initComponents();
        }
     
        //La fonction qui permet d'ajouter le graphe au panel_graph 
        public void add_graph(mxGraphComponent g_component)
        {
            panel_graphe.add(g_component);
            panel_graphe.repaint();
            panel_graphe.revalidate();
        }
     
        /**
         * This method is called from within the constructor to initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is always
         * regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
     
            panel_globale = new javax.swing.JPanel();
            panel_graphe = new javax.swing.JPanel();
            jButton1 = new javax.swing.JButton();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
     
            javax.swing.GroupLayout panel_grapheLayout = new javax.swing.GroupLayout(panel_graphe);
            panel_graphe.setLayout(panel_grapheLayout);
            panel_grapheLayout.setHorizontalGroup(
                panel_grapheLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 370, Short.MAX_VALUE)
            );
            panel_grapheLayout.setVerticalGroup(
                panel_grapheLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGap(0, 250, Short.MAX_VALUE)
            );
     
            jButton1.setText("Afficher le graphe");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
     
            javax.swing.GroupLayout panel_globaleLayout = new javax.swing.GroupLayout(panel_globale);
            panel_globale.setLayout(panel_globaleLayout);
            panel_globaleLayout.setHorizontalGroup(
                panel_globaleLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(panel_globaleLayout.createSequentialGroup()
                    .addGroup(panel_globaleLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(panel_globaleLayout.createSequentialGroup()
                            .addGap(18, 18, 18)
                            .addComponent(panel_graphe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(panel_globaleLayout.createSequentialGroup()
                            .addGap(155, 155, 155)
                            .addComponent(jButton1)))
                    .addContainerGap(20, Short.MAX_VALUE))
            );
            panel_globaleLayout.setVerticalGroup(
                panel_globaleLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(panel_globaleLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(panel_graphe, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(jButton1)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            );
     
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addComponent(panel_globale, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(0, 0, Short.MAX_VALUE))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(panel_globale, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            );
     
            pack();
        }// </editor-fold>                        
     
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // TODO add your handling code here:
            Graphe_Hello_World ghw = new Graphe_Hello_World(this);
        }                                        
     
        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) {
            /* Set the Nimbus look and feel */
            //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
            /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
             * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
             */
            try {
                for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                    if ("Nimbus".equals(info.getName())) {
                        javax.swing.UIManager.setLookAndFeel(info.getClassName());
                        break;
                    }
                }
            } catch (ClassNotFoundException ex) {
                java.util.logging.Logger.getLogger(MyFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(MyFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(MyFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(MyFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            //</editor-fold>
     
            /* Create and display the form */
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new MyFrame().setVisible(true);
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.JButton jButton1;
        private javax.swing.JPanel panel_globale;
        private javax.swing.JPanel panel_graphe;
        // End of variables declaration                   
    }
    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
     
    package pack;
     
    import com.mxgraph.swing.mxGraphComponent;
    import com.mxgraph.util.mxConstants;
    import com.mxgraph.view.mxGraph;
    import java.awt.BorderLayout;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
    public class Graphe_Hello_World 
    {
        MyFrame frame;
        //Le constructeur 
        public Graphe_Hello_World(MyFrame f)
        {
            super();
            mxGraph graph = new mxGraph();
            frame = f;
            //On récupère la racine du graphe
            Object parent = graph.getDefaultParent();
     
            //On commence la création des noeuds 
            graph.getModel().beginUpdate();
     
            try
            {
                Object v1 = graph.insertVertex(parent, null, "Hello", 300, 40, 40, 40);            
                Object v3 = graph.insertVertex(parent, null, "World", 300, 90, 40, 40);           
                graph.insertEdge(parent, null, "Edge", v1, v3);
            }
            finally
            {
                graph.getModel().endUpdate();
            }
     
            mxGraphComponent graphComponent = new mxGraphComponent(graph);
            frame.add_graph(graphComponent);
     
        }   
     
    }
    et quand je clique sur le bouton, ça ne m'affiche rien

    Et meme si je change le code au niveau du actionListener du bouton pour ajouter un affichage avant l'instantiation de graphe_Hello_World et un message après
    les deux message s'affichent mais le graphe ne s'affiche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // TODO add your handling code here:
            System.out.println("avant");
            Graphe_Hello_World ghw = new Graphe_Hello_World(this);
            System.out.println("après");
        }

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    C'est parce que tu mis un GroupLayout sur panel_graphe, et que tu ne peux plus y ajouter un composant aussi simplement que par un add(Component). Le plus simple est que tu utilises un BorderLayout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
           /*panel_grapheLayout = new javax.swing.GroupLayout(panel_graphe);
           panel_grapheLayout.setHorizontalGroup(
                   panel_grapheLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                   .addGap(0, 370, Short.MAX_VALUE)
               );
               panel_grapheLayout.setVerticalGroup(
                   panel_grapheLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                   .addGap(0, 250, Short.MAX_VALUE)
               );*/
             panel_graphe.setLayout(new BorderLayout());
             panel_graphe.setPreferredSize(new Dimension(370,250));
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  11. #11
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 21
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    C'est parce que tu mis un GroupLayout sur panel_graphe, et que tu ne peux plus y ajouter un composant aussi simplement que par un add(Component). Le plus simple est que tu utilises un BorderLayout :
    Aah donc il suffisait d'utiliser un BorderLayout, j'ai testé et ça marche le graphe est affiché.
    Vraiment merci beaucoup Joel.drigo
    Vous m'avez sauvé

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

Discussions similaires

  1. [Débutant] affichage d'info complémentaire sur un graphe
    Par radlabo94 dans le forum MATLAB
    Réponses: 2
    Dernier message: 20/02/2013, 11h55
  2. [Vxi] Problème d'affichage de l'échelle sur graphe barchart
    Par Ak_loulard dans le forum Deski
    Réponses: 1
    Dernier message: 31/05/2012, 09h47
  3. Evenement sur un panel depuis un autre panel
    Par ensisoft dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 11/01/2008, 17h26
  4. Pbs d'affichage d'une image sur un panel
    Par ysr1 dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/09/2004, 09h55

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