Java swing Jtree

[Résolu/Fermé]
Signaler
-
 amani -
Bonjour,

Comment appliquer un listener pour la racine d'un JTree et un autre pour les noeuds( pas le même) ?

1 réponse

Messages postés
618
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
13 juillet 2013
971
Salut!

Voici un exemple:

package hacktrack.jtreelistener;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;

public class JTreeListenerDemo extends JFrame implements TreeSelectionListener {
	private int size;
	private JTree tree;
	private JTextField output;

	public JTreeListenerDemo() {
		super("Tree Listener Demo");
		init();
	}

	private void init() {
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		Container c = getContentPane();
		c.setLayout(new BorderLayout());
		c.setPreferredSize(new Dimension(200, 100));

		DefaultMutableTreeNode dept = new DefaultMutableTreeNode(
				"Forum Java CCM");
		dept.add(new DefaultMutableTreeNode("HackTrack"));
		dept.add(new DefaultMutableTreeNode("Amani"));
		tree = new JTree(dept);
		tree.addTreeSelectionListener(this);
		c.add(tree, BorderLayout.CENTER);

		output = new JTextField();
		c.add(output, BorderLayout.SOUTH);
	}

	@Override
	public void valueChanged(TreeSelectionEvent e) {
		DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
				.getLastSelectedPathComponent();
		if (node == null)
			return;
		Object nodeInfo = node.getUserObject();
		if (node.isRoot()) {
			JOptionPane.showMessageDialog(null, node.getUserObject());
			output.setText("");
		} else {
			output.setText(node.getUserObject().toString());
		}
	}

	public static void main(String[] args) {
		JTreeListenerDemo demo = new JTreeListenerDemo();
		demo.pack();
		demo.setVisible(true);
	}

}


;-)
HackTrack
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Merci bcppp :)