原因找到了。如果该为继承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;
}
}**********************************************************************
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;
}
}**********************************************************************
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货