import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.TreePath;
/**
* The Class TreeTest.
*/
public class TreeTest extends JFrame {
/**
* Create a new instance of <code>TreeTest</code>.
*/
public TreeTest() {
super("TreeTest");
setDefaultCloseOperation(EXIT_ON_CLOSE);
final JTree tree = new JTree();
tree.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
final TreePath path = tree.getPathForLocation(e.getX(), e.getY());
System.out.println("clicked: " + path);
}
});
tree.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseMoved(MouseEvent e) {
final TreePath path = tree.getPathForLocation(e.getX(), e.getY());
if (path != null) {
System.out.println("over: " + path);
}
}
});
getContentPane().add(new JScrollPane(tree));
}
/**
* The main method.
*
* @param args the arguments
*/
public static void main(String[] args) {
final JFrame frame = new TreeTest();
final Dimension frameSize = new Dimension(400, 250);
frame.setSize(frameSize);
final Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
final int frameX = (screenSize.width - frameSize.width) / 2;
final int frameY = (screenSize.height - frameSize.height) / 2;
frame.setLocation(frameX, frameY);
frame.setVisible(true);
}
}