En JAVA ajouter une branche a un arbre
Fermé
flo.774
Messages postés
5
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
7 août 2008
-
5 août 2008 à 19:12
sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 - 6 août 2008 à 08:05
sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 - 6 août 2008 à 08:05
A voir également:
- En JAVA ajouter une branche a un arbre
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Ajouter une signature sur word - Guide
3 réponses
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
5 août 2008 à 19:17
5 août 2008 à 19:17
Salut,
Tuto correct sur le site de Sun: http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JTree.html
++
Tuto correct sur le site de Sun: http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JTree.html
++
flo.774
Messages postés
5
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
7 août 2008
5 août 2008 à 19:32
5 août 2008 à 19:32
merci sandul de ta reponse mais je n'ai pas trouve ce que je cherche dessus cela m'aidera pour autre chose .
Moi il me faut le code d'un bouton qui se trouve sur une frame avec comme code derriere l'ajout d'une branche sur un arbre.
Moi il me faut le code d'un bouton qui se trouve sur une frame avec comme code derriere l'ajout d'une branche sur un arbre.
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
5 août 2008 à 19:58
5 août 2008 à 19:58
Bueno, tu as sur le lien l'essentiel dont tu as besoin pour travailler avec des JTree. Tit exemple fait à la va-vite pour un rajout dynamique (il faut sélectionner un node autre que le Root):
**********
Enjoy.
**********
import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextField; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; public class Flo774Sample extends JFrame { private static final long serialVersionUID = 1L; private JTextField textField; private JTree tree; /** * Launch the application * * @param args */ public static void main(String args[]) { try { Flo774Sample frame = new Flo774Sample(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } /** * Create the frame */ public Flo774Sample() { super(); setBounds(100, 100, 500, 375); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JScrollPane scrollPane = new JScrollPane(); getContentPane().add(scrollPane, BorderLayout.CENTER); DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root"); DefaultMutableTreeNode child1 = new DefaultMutableTreeNode("Flo 774"); root.add(child1); DefaultMutableTreeNode child2 = new DefaultMutableTreeNode("Flo 775"); root.add(child2); tree = new JTree(root); scrollPane.setViewportView(tree); final JPanel panel = new JPanel(); final FlowLayout flowLayout = new FlowLayout(); flowLayout.setAlignment(FlowLayout.RIGHT); panel.setLayout(flowLayout); getContentPane().add(panel, BorderLayout.SOUTH); textField = new JTextField(); textField.setColumns(20); panel.add(textField); final JButton addANodeButton = new JButton(); addANodeButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { DefaultMutableTreeNode node = new DefaultMutableTreeNode(getTextField().getText()); if (getTree().getLastSelectedPathComponent() != null) { ((DefaultMutableTreeNode) getTree().getLastSelectedPathComponent()).add(node); getTree().repaint(); } } }); addANodeButton.setText("Add a node"); panel.add(addANodeButton); // } protected JTree getTree() { return tree; } protected JTextField getTextField() { return textField; } }
Enjoy.
flo.774
Messages postés
5
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
7 août 2008
5 août 2008 à 23:25
5 août 2008 à 23:25
merci ca marche parfaitement et si je veux rajouter un autre bouton supprimer une branche a cote de l'ajout ?
sandul
Messages postés
3927
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
723
6 août 2008 à 08:05
6 août 2008 à 08:05
Pour faire la suppression du noeud sélectionné (avec touts ses fils), on pourrait utiliser un truc de ce genre:
Ceci ne marche pas pour le noeud Root, pour lequel il faut un
final JButton removeANodeButton = new JButton(); removeANodeButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (getTree().getLastSelectedPathComponent() != null) { DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) getTree().getLastSelectedPathComponent(); DefaultTreeModel model = (DefaultTreeModel)getTree().getModel(); model.removeNodeFromParent(selectedNode); } } }); removeANodeButton.setText("Remove selected node"); panel.add(removeANodeButton);
Ceci ne marche pas pour le noeud Root, pour lequel il faut un
model.setRoot(null);