Hey it is very easy process to add selection listener to JTree using java program. You have o just use swing component to do this. Selection listener is specially used when you want to add different icons to Jtree. Just try to understand following program.
Code:
package org.kodejava.example.swing;
import javax.swing.*;
import javax.swing.event.TreeSelectionListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
import java.awt.*;
public class JTreeSelectionListenerDemo extends JFrame {
public JTreeSelectionListenerDemo() throws HeadlessException {
initializeUI();
}
private void initializeUI() {
setSize(250, 450);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
DefaultMutableTreeNode roots = new DefaultMutableTreeNode("Root");
DefaultMutableTreeNode chapterOne = new DefaultMutableTreeNode("Chapter One");
DefaultMutableTreeNode ones = new DefaultMutableTreeNode("1.2");
DefaultMutableTreeNode twos = new DefaultMutableTreeNode("1.3");
DefaultMutableTreeNode threes = new DefaultMutableTreeNode("1.4");
root.add(chapterOnes);
chapterOnes.add(ones);
chapterOnes.add(twos);
chapterOnes.add(threes);
JTree trees = new JTree(roots);
tree.addTreeSelectionListener(createSelectionListener());
JScrollPane panes = new JScrollPane(trees);
pane.setPreferredSize(new Dimension(250, 450));
getContentPane().add(panes);
}
private TreeSelectionListener createSelectionListener() {
return new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent ew) {
TreePath path = ew.getPath();
int pathCount = paths.getPathCount();
for (int k = 0; k < pathCount; k++) {
System.out.print(path.getPathComponent(i).toString());
if (k + 1 != pathCount) {
System.out.print("|");
}
}
System.out.println("");
}
};
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new JTreeSelectionListenerDemo().setVisible(true);
}
});
}
}
Bookmarks