原因找到了。如果该为继承panel,你必须把m_tree  add到你的panel你面。在类TreeNode 里加一行 this.add( m_tree,BorderLayout.CENTER);  就可以显示了。我的机子上已经测试通过了。可以揭帖了。呵呵。*******************************************************************
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;public class TreeNode extends JPanel
{
        protected JTree m_tree;
        protected JTextField m_display;
        protected DefaultMutableTreeNode nodeZhuangxiang,nodejieXiang,nodeSearch,
                                         nodeWaittingTest,nodeWaittingPacking,nodeWaittingRepair,
                                         nodejieXiangBySN,nodejieXiangByBox,
                                         search;
        public TreeNode()
        {
                 DefaultMutableTreeNode top=new DefaultMutableTreeNode(new OidNode(1000,"RMA"));
                DefaultMutableTreeNode parent=top;                nodeZhuangxiang=new DefaultMutableTreeNode(new OidNode(0,"裝箱"));
                nodeWaittingTest=new DefaultMutableTreeNode(new OidNode(01,"待測庫"));
                nodeWaittingPacking=new DefaultMutableTreeNode(new OidNode(02,"包裝庫"));
                nodeWaittingRepair=new DefaultMutableTreeNode(new OidNode(03,"待修庫"));                nodeZhuangxiang.add(nodeWaittingTest);
                nodeZhuangxiang.add(nodeWaittingPacking);
                nodeZhuangxiang.add(nodeWaittingRepair);
                parent.add(nodeZhuangxiang);                nodejieXiang=new DefaultMutableTreeNode(new OidNode(1,"解箱"));
                nodejieXiangBySN=new DefaultMutableTreeNode(new OidNode(11,"按序號解箱"));
                nodejieXiangByBox=new DefaultMutableTreeNode(new OidNode(12,"按箱號解箱"));
                nodejieXiang.add(nodejieXiangBySN);
                nodejieXiang.add(nodejieXiangByBox);
                parent.add(nodejieXiang);                nodeSearch=new DefaultMutableTreeNode(new OidNode(2,"查詢"));
                search=new DefaultMutableTreeNode(new OidNode(21,"查詢"));
                nodeSearch.add(search);
                parent.add(nodeSearch);                m_tree=new JTree(top);
                m_tree.setShowsRootHandles(true);
                m_tree.putClientProperty("JTree.linestyle","Angled");
                m_tree.setEditable(false);
                this.add( m_tree,BorderLayout.CENTER);  ////////////////////在这里加一行
                //JScrollPane s=new JScrollPane(m_tree);                setSize(400,300);
                setVisible(true);
        }        private void tvwTreeView_mouseClicked(MouseEvent e)
        {
                TreePath pa=m_tree.getPathForLocation(e.getX(),e.getY());
                if(pa==null)return;
                Object[] nodes = pa.getPath();
                String oid="";
                for(int k=0;k<nodes.length;k++)
                {
                        DefaultMutableTreeNode node =(DefaultMutableTreeNode)nodes[k];
                        OidNode nd = (OidNode)node.getUserObject();
                        oid+="."+nd.getId();
                }
        }
}
        class OidNode
        {
                private int m_id;
                private String m_name;                public OidNode(int id,String name)
                {
                        this.m_id=id;
                        this.m_name=name;
                }                public int getId()
                {
                        return m_id;
                }                public String getName()
                {
                        return m_name;
                }                public String toString()
                {
                        return m_name;
                }
}**********************************************************************