java能做,要的话发个java做的treebean,信箱给我。

解决方案 »

  1.   

    要渲染JTree的节点
    setCellRenderer(TreeCellRenderer x) 
      

  2.   

    忘了说一句,我要做的是c/s的纯Java程序。我的信箱是:[email protected]
      

  3.   

    wangdongzjk(东) 兄,盼你指教。
     yangFrame(一草) 兄,你能说的具体点吗,或者来个例子看一下,好照猫画虎一下,呵呵....
      

  4.   

    //...where the tree is initialized:
    //...在初始化的时候,为tree设置renderer
        //Enable tool tips.
        ToolTipManager.sharedInstance().registerComponent(tree);
        
        ImageIcon tutorialIcon = createImageIcon("images/middle.gif");
        if (tutorialIcon != null) {
            tree.setCellRenderer(new MyRenderer(tutorialIcon));
        }
    ...
    //
    class MyRenderer extends DefaultTreeCellRenderer {
        Icon tutorialIcon;    public MyRenderer(Icon icon) {
            tutorialIcon = icon;
        }
        //用这个方法来设置tree每一个节点的外观
        public Component getTreeCellRendererComponent(
                            JTree tree,
                            Object value,
                            boolean sel,
                            boolean expanded,
                            boolean leaf,
                            int row,
                            boolean hasFocus) {        super.getTreeCellRendererComponent(
                            tree, value, sel,
                            expanded, leaf, row,
                            hasFocus);
            if (leaf && isTutorialBook(value)) {
                setIcon(tutorialIcon);
                setToolTipText("This book is in the Tutorial series.");
            } else {
                setToolTipText(null); //no tool tip
            }         return this;
        }    protected boolean isTutorialBook(Object value) {
            DefaultMutableTreeNode node =
                    (DefaultMutableTreeNode)value;
            BookInfo nodeInfo =
                    (BookInfo)(node.getUserObject());
            String title = nodeInfo.bookName;
            if (title.indexOf("Tutorial") >= 0) {
                return true;
            }        return false;
        }
    }
      

  5.   

    非常感谢 yangFrame(一草) ,我还有个急待解决的问题:
    在JTree节点描述中,用哪个方法可以使鼠标选中的节点项永远改变图标,直到下次再次点击。
    DefaultTreeCellRenderer里有这个方法吗?或者在别的地方,我实在找不到了。
      

  6.   

    http://www.senun.com/Left/Programming/Java_old/Examples_swing/SwingExamples.html
    看一下,可能对你有帮助!
      

  7.   

    可以自己重写tree类呀,根据自己的需要添加一些东西进去是完全可以的
      

  8.   

    很容易实现的啊!!JTree 类自身就支持的,好像需要改写 Renderer 的实现类就可以了.
      

  9.   

    http://www.senun.com/Left/Programming/Java_old/Examples_swing/SwingExamples.html好东西!
      

  10.   

    http://www.senun.com/Left/Programming/Java_old/Examples_swing/SwingExamples.html
    好东东,谢谢 yiqiangyang(大海能够包容一切)