Jtree如何获得节点在树中坐标位置?
有方法吗?

解决方案 »

  1.   

    要先知道节点在树的哪一行。JTree.getRowBounds(int row);获取节点范围的矩形以后,矩形的x、y属性当然就是节点在树中的左上角坐标。
      

  2.   

    http://www.360doc.com/content/10/0701/18/10610_36310634.shtml
      

  3.   


    我晕,代码都已经写出来了,还要我全部写出来吗?import javax.swing.*;
    import javax.swing.tree.*;public class Test {
        public static void main(String[] args) {
            JFrame frame = new JFrame();
            frame.setSize(800, 600);
            DefaultMutableTreeNode root = new DefaultMutableTreeNode("根节点");
            DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("节点1");
            DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("节点2");
            JTree tree = new JTree(root);
            root.add(node1);
            root.add(node2);
            frame.add(tree);
            tree.expandRow(0);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
            System.out.println("根节点的左上角坐标:(" + tree.getRowBounds(0).x + ", " + tree.getRowBounds(0).y + ")");
            System.out.println("节点1的左上角坐标:(" + tree.getRowBounds(1).x + ", " + tree.getRowBounds(1).y + ")");
            System.out.println("节点2的左上角坐标:(" + tree.getRowBounds(2).x + ", " + tree.getRowBounds(2).y + ")");
        }
    }