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 :

Arbres et évènements JAVA


Sujet :

Interfaces Graphiques en Java

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Par défaut Arbres et évènements JAVA
    Salut à tous j'aurai besoin de votre aide si cela ne vous dérange pas.

    J'ai un arbre situé à gauche dans une fenetre graphique JAVA et à droite un formulaire.

    J'aimerai lorsque je clique sur "Nouveau" qu'une nouvelle branche d'arbre se crée et qu'apparait dans cette nouvelle branche , le meme formulaire que celles des branches précédentes.

    En effet ayant essayer de le faire je constate que mes JTextField et mes JButton disparaissent.

    Merci d'avance à tous .

    Voici mon 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
    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
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
     
    import java.awt.*; 
    import java.awt.event.*; 
    import javax.swing.*; 
    import javax.swing.tree.*; 
    import javax.swing.event.*; 
     
    /* PROGRAMME PAGE 846 DU LIVRE */ 
     
    public class JTreeEvents extends JApplet implements ActionListener 
    { 
    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 
    JTree tree; 
    JTextField jtf; 
    CardLayout Carte; 
    JPanel panneauDroite; 
    static JTextField nom,prenom,datedenaissance,loisirs,langagesinfos,age; 
    static JButton ok,nouveau; 
    static JButton nouvellephase2; 
    DefaultMutableTreeNode top,a; 
     
    public void init() 
    { 
     
    nouveau = new JButton("Nouveau"); 
    nouveau.addActionListener(this); 
     
    ok = new JButton("OK"); 
    ok.addActionListener(this); 
     
    nouvellephase2 = new JButton("Nouvelle Phase 2"); 
    nouvellephase2.addActionListener(this); 
     
    nom = new JTextField(10); 
    nom.addActionListener(this); 
     
    prenom = new JTextField(10); 
    prenom.addActionListener(this); 
     
    datedenaissance = new JTextField(10); 
    datedenaissance.addActionListener(this); 
     
    loisirs = new JTextField(10); 
    loisirs.addActionListener(this); 
     
    langagesinfos = new JTextField(10); 
    langagesinfos.addActionListener(this); 
     
    age = new JTextField(10); 
    age.addActionListener(this); 
     
    Container contentPane = this.getContentPane(); 
     
    JPanel panneau = new JPanel(new BorderLayout()); 
    panneauDroite = new JPanel(); 
     
    JPanel Phase1 = new JPanel(); 
    Phase1.add(new JLabel("Nom")); 
    Phase1.add(nom); 
    Phase1.add(new JLabel("Prenom")); 
    Phase1.add(prenom); 
    Phase1.add(new JLabel("Date de Naissance")); 
    Phase1.add(datedenaissance); 
    Phase1.add(ok); 
    Phase1.add(nouveau); 
     
    JPanel Phase2 = new JPanel(); 
    Phase2.add(new JLabel("Loisirs")); 
    Phase2.add(loisirs); 
    Phase2.add(new JLabel("Langages infos")); 
    Phase2.add(langagesinfos); 
    Phase2.add(new JLabel("Age")); 
    Phase2.add(age); 
    Phase2.add(nouvellephase2); 
     
     
    Carte = new CardLayout(); 
     
    panneauDroite.setLayout(Carte); 
    panneauDroite.add("Phase1",Phase1); 
    panneauDroite.add("Phase2",Phase2); 
     
    contentPane.add(panneau); 
    JPanel panneauTree = new JPanel(new BorderLayout()); 
     
    JSplitPane unSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panneauTree,panneauDroite); 
    panneau.add(unSplitPane); 
     
    top = new DefaultMutableTreeNode("Options"); 
     
    a = new DefaultMutableTreeNode("A"); 
    top.add(a); 
     
    DefaultMutableTreeNode a1 = new DefaultMutableTreeNode("A1"); 
    a.add(a1); 
     
    DefaultMutableTreeNode a2 = new DefaultMutableTreeNode("A2"); 
    a.add(a2); 
     
    DefaultMutableTreeNode b = new DefaultMutableTreeNode("B"); 
    top.add(b); 
     
    DefaultMutableTreeNode b1 = new DefaultMutableTreeNode("B1"); 
    b.add(b1); 
     
    DefaultMutableTreeNode b2 = new DefaultMutableTreeNode("B2"); 
    b.add(b2); 
     
    tree = new JTree(top); 
     
    int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED; 
    int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED; 
    JScrollPane jsp = new JScrollPane(tree,v,h); 
     
    panneauTree.add(jsp, BorderLayout.CENTER); 
     
    jtf = new JTextField("",20); 
    panneauTree.add(jtf,BorderLayout.SOUTH); 
     
    tree.addMouseListener(new MouseAdapter() 
    { 
    public void mouseClicked(MouseEvent me) 
    { 
    doMouseClicked(me); 
    } 
    }); 
    } 
     
    void doMouseClicked(MouseEvent me) 
    { 
    TreePath tp = tree.getPathForLocation(me.getX(), me.getY()); 
     
    if (tp != null) 
    { 
     
    Object[] mytp = tp.getPath(); 
     
    if (mytp.length >= 3) 
    { 
    jtf.setText(mytp[2].toString()); 
    Carte.show(panneauDroite,"Phase2"); 
    } 
    else if (mytp.length == 2) 
    { 
    jtf.setText(mytp[1].toString()); 
    Carte.show(panneauDroite,"Phase1"); 
    } 
    } 
     
    } 
     
    public void actionPerformed(ActionEvent evt) 
    { 
    if(evt.getSource() == nouveau) 
    { 
     
    tree = new JTree(top); 
    DefaultMutableTreeNode coucou = new DefaultMutableTreeNode("Nouveau"); 
    top.add(coucou); 
    // VOila ou est le probleme 
    // 
    //Comment faire?? 
    JPanel Phase1 = new JPanel(); 
    Phase1.add(new JLabel("Nom")); 
    Phase1.add(nom); 
    Phase1.add(new JLabel("Prenom")); 
    Phase1.add(prenom); 
    Phase1.add(new JLabel("Date de Naissance")); 
    Phase1.add(datedenaissance); 
    Phase1.add(ok); 
    Phase1.add(nouveau); 
    panneauDroite.add("Phase1",Phase1); 
    DefaultMutableTreeNode salut = new DefaultMutableTreeNode("New"); 
    coucou.add(salut); 
    SwingUtilities.updateComponentTreeUI(this); 
     
     
    } 
     
    if(evt.getSource() == nouvellephase2) 
    { 
    DefaultMutableTreeNode a3 = new DefaultMutableTreeNode("A2"); 
    a.add(a3); 
    } 
    } 
    }

  2. #2
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Par défaut
    Est-ce que tu pourrais mettre ton code entre les balises [code ] et [/code ] (sans les espaces avant la fermeture des crochets) ? Parce que là, c'est pas facile à lire.

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Par défaut Re-Code
    Bonsoir et désolé de ne pas avoir rendu mon code lisible,le voici.

    Merci d'avance.

    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
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    import java.awt.*; 
    import java.awt.event.*; 
    import javax.swing.*; 
    import javax.swing.tree.*; 
    import javax.swing.event.*; 
     
    /* PROGRAMME PAGE 846 DU LIVRE */ 
     
    public class JTreeEvents extends JApplet implements ActionListener 
    { 
    /** 
    * 
    */ 
          private static final long serialVersionUID = 1L;  
         JTree tree; 
         JTextField jtf; 
         CardLayout Carte; 
         JPanel panneauDroite; 
         static JTextField nom,prenom,datedenaissance,loisirs,langagesinfos,age; 
         static JButton ok,nouveau; 
         static JButton nouvellephase2; 
         DefaultMutableTreeNode top,a; 
     
    public void init() 
    { 
     
         nouveau = new JButton("Nouveau"); 
         nouveau.addActionListener(this); 
     
         ok = new JButton("OK"); 
         ok.addActionListener(this); 
     
         nouvellephase2 = new JButton("Nouvelle Phase 2"); 
         nouvellephase2.addActionListener(this); 
     
         nom = new JTextField(10); 
         nom.addActionListener(this); 
     
         prenom = new JTextField(10); 
         prenom.addActionListener(this); 
     
         datedenaissance = new JTextField(10); 
         datedenaissance.addActionListener(this); 
     
         loisirs = new JTextField(10); 
         loisirs.addActionListener(this); 
     
         langagesinfos = new JTextField(10); 
         langagesinfos.addActionListener(this); 
     
         age = new JTextField(10); 
         age.addActionListener(this); 
     
         Container contentPane = this.getContentPane(); 
     
         JPanel panneau = new JPanel(new BorderLayout()); 
         panneauDroite = new JPanel(); 
     
         JPanel Phase1 = new JPanel(); 
         Phase1.add(new JLabel("Nom")); 
         Phase1.add(nom); 
         Phase1.add(new JLabel("Prenom")); 
         Phase1.add(prenom); 
         Phase1.add(new JLabel("Date de Naissance")); 
         Phase1.add(datedenaissance); 
         Phase1.add(ok); 
         Phase1.add(nouveau); 
     
         JPanel Phase2 = new JPanel(); 
         Phase2.add(new JLabel("Loisirs")); 
         Phase2.add(loisirs); 
         Phase2.add(new JLabel("Langages infos")); 
         Phase2.add(langagesinfos); 
         Phase2.add(new JLabel("Age")); 
         Phase2.add(age); 
         Phase2.add(nouvellephase2); 
     
     
         Carte = new CardLayout(); 
     
         panneauDroite.setLayout(Carte); 
         panneauDroite.add("Phase1",Phase1); 
         panneauDroite.add("Phase2",Phase2); 
     
         contentPane.add(panneau); 
         JPanel panneauTree = new JPanel(new BorderLayout()); 
     
         JSplitPane unSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,   panneauTree,panneauDroite); 
         panneau.add(unSplitPane); 
     
         top = new DefaultMutableTreeNode("Options"); 
     
         a = new DefaultMutableTreeNode("A"); 
         top.add(a); 
     
         DefaultMutableTreeNode a1 = new DefaultMutableTreeNode("A1"); 
         a.add(a1); 
     
         DefaultMutableTreeNode a2 = new DefaultMutableTreeNode("A2"); 
         a.add(a2); 
     
         DefaultMutableTreeNode b = new DefaultMutableTreeNode("B"); 
         top.add(b); 
     
         DefaultMutableTreeNode b1 = new DefaultMutableTreeNode("B1"); 
         b.add(b1); 
     
         DefaultMutableTreeNode b2 = new DefaultMutableTreeNode("B2"); 
         b.add(b2); 
     
         tree = new JTree(top); 
     
         int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED; 
         int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED; 
         JScrollPane jsp = new JScrollPane(tree,v,h); 
     
         panneauTree.add(jsp, BorderLayout.CENTER); 
     
         jtf = new JTextField("",20); 
         panneauTree.add(jtf,BorderLayout.SOUTH); 
     
         tree.addMouseListener(new MouseAdapter() 
    { 
       public void mouseClicked(MouseEvent me) 
        { 
          doMouseClicked(me); 
         } 
    }); 
    } 
     
    void doMouseClicked(MouseEvent me) 
    { 
         TreePath tp = tree.getPathForLocation(me.getX(), me.getY()); 
     
           if (tp != null)  
            {  
     
               Object[] mytp = tp.getPath(); 
     
                  if (mytp.length >= 3) 
                  { 
                     jtf.setText(mytp[2].toString()); 
                     Carte.show(panneauDroite,"Phase2"); 
                  } 
                   else if (mytp.length == 2) 
                 { 
                     jtf.setText(mytp[1].toString()); 
                     Carte.show(panneauDroite,"Phase1"); 
                 } 
    } 
     
    } 
     
    public void actionPerformed(ActionEvent evt) 
       { 
         if(evt.getSource() == nouveau) 
          { 
     
             tree = new JTree(top);  
             DefaultMutableTreeNode coucou = new DefaultMutableTreeNode  ("Nouveau"); 
            top.add(coucou); 
            // VOila ou est le probleme 
            // 
           //Comment faire?? 
              JPanel Phase1 = new JPanel(); 
              Phase1.add(new JLabel("Nom")); 
               Phase1.add(nom); 
              Phase1.add(new JLabel("Prenom")); 
              Phase1.add(prenom); 
              Phase1.add(new JLabel("Date de Naissance")); 
              Phase1.add(datedenaissance); 
              Phase1.add(ok); 
              Phase1.add(nouveau); 
              panneauDroite.add("Phase1",Phase1); 
              DefaultMutableTreeNode salut = new DefaultMutableTreeNode("New"); 
              coucou.add(salut); 
               SwingUtilities.updateComponentTreeUI(this); 
     
     
    } 
     
    if(evt.getSource() == nouvellephase2) 
        { 
        DefaultMutableTreeNode a3 = new DefaultMutableTreeNode("A2"); 
        a.add(a3); 
         } 
       } 
    }

  4. #4
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 110
    Par défaut
    *a eu assez de courage pour lire le code*

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tree = new JTree(top); 
    DefaultMutableTreeNode coucou = new DefaultMutableTreeNode("Nouveau"); 
    top.add(coucou);
    tu as effectivement bien vue, c'est la l'erreur. alors les prochaines fois evite de mettre autant de code, mets juste les morceaux qui posent probleme. et explique le reste.

    c'est la première ligne le problème. tu refais un arbre new JTree(top);
    alors que tu devrais utiliser celui existant.

    un petit document qui te sera pratique : http://java.sun.com/docs/books/tutor...ents/tree.html si tu n'aimes pas l'anglais il faudrat t'y mettre tot ou tard .

    et utilise la methode insertNodeInto plutot que add.

Discussions similaires

  1. [.Net] Traiter des évènements Java
    Par shinchan dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 09/01/2008, 09h57
  2. Les arbres binaire en java
    Par vincem35 dans le forum Langage
    Réponses: 3
    Dernier message: 15/11/2007, 19h44
  3. UML et évènement java
    Par sandytarit dans le forum UML
    Réponses: 2
    Dernier message: 25/01/2007, 20h31
  4. Dessiner un arbre binaire en java?
    Par zenaare dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 08/01/2007, 16h01

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