|
| |||||||||
| Tags: class, host, java, linkedlist, object, program, string |
![]() |
| | Thread Tools | Search this Thread |
|
#1
| |||
| |||
| Java program to add selection listener to JTree
Hello to all, I am new to this forum. I am last year Computer Science student. As a part of my syllabus I am working on project where I am using java as front end and SQL as back end. In my project I have to add selection listener to JTree. I tried various method but none of them worked out. Can anyone tell me how to write Java program to add selection listener to JTree? Thank you. Last edited by Juany : 23-01-2010 at 03:53 PM. |
|
#2
| ||||
| ||||
| Re: Java program to add selection listener to JTree
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);
}
});
}
} |
|
#3
| ||||
| ||||
| Re: Java program to add selection listener to JTree
For detecting specific node in a tree, you have to register a tree selection listener. You can select only one node at a time. I have written similar example at below. Just go through it. Try to understand each steps. Just use this code in your java program to add selection listener to JTree. Code: tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode nodes = (DefaultMutableTreeNode)
tree.getLastSelectedPathComponent();
if (nodes == null) return;
Object nodeInfos = nodes.getUserObject();
}
}); trees.getSelectionModel().setSelectionMode (TreeSelectionModel.SINGLE_TREE_SELECTION);
__________________ Grand Theft Auto 4 PC Video Game |
|
#4
| ||||
| ||||
| Re: Java program to add selection listener to JTree
I use following Java program to add selection listener to JTree in my project and it works very well. I think you also use this in your project. Just make changes in variable as per your comfort. Try to add 2 method for accepting input from user. Code: import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeSelectionModel;
public class UsingTreeSelectionListener {
public static void main(String[] a) {
JFrame frames = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTree trees = new JTree();
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
tree.addTreeSelectionListener(new SelectionListener());
frame.add(new JScrollPane(trees));
frame.setSize(350, 250);
frame.setVisible(true);
}
}
class SelectionListener implements TreeSelectionListener {
public void valueChanged(TreeSelectionEvent ses) {
JTree trees = (JTree) ses.getSource();
DefaultMutableTreeNode selectedNodes = (DefaultMutableTreeNode) tree
.getLastSelectedPathComponent();
String selectedNodeNames = selectedNodes.toString();
if (selectedNodes.isLeaf()) {
System.out.println(selectedNodeNames);
}
}
}
__________________ The FIFA Manager 2009 PC Game |
|
#5
| ||||
| ||||
| Re: Java program to add selection listener to JTree
For getting selected node value of JTree, you have to add a selection listener in order to be able to detect selections when a node of a JTree has selected or not. Th following code adds a TreeSelectionListener. It also have getLastPathComponent() method of a TreePath object to get the message of the JTree node selected. Code: tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent evt) {
TreePath[] paths1 = evt.getPaths();
for (int k=0; k<paths.length; k++) {
if (evt.isAddedPaths1(k)) {
System.out.println(paths1[i].getLastPathComponent().toString());
break;
} else {
break;
}
}
}
}); |
![]() |
|
| Thread Tools | Search this Thread |
| |
Similar Threads for: "Java program to add selection listener to JTree" | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| JTree class of java | Owen Fernandes | Software Development | 5 | 13-02-2010 08:23 AM |
| Java program to remove JTree default icons? | Baazigar | Software Development | 4 | 22-01-2010 07:35 PM |
| How to remove a node from JTree in java program? | kamina23 | Software Development | 4 | 22-01-2010 05:41 PM |
| Java program to expand or collapse all JTree nodes. | KALIDA | Software Development | 4 | 22-01-2010 05:04 PM |
| How to create JTree with different icons for each node using java program? | KALANI84 | Software Development | 5 | 22-01-2010 04:17 PM |