寝食难安农业的毕业设计问题:如何解决JTree中的选择事件,请大家一定看看,谢谢! TreePath得到每一级路径,然后合并起来不就行了?如果还没理解我帮你写 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class TreeNode extends JPanel{ protected JTree m_tree; protected JTextField m_display; protected DefaultMutableTreeNode nodeZhuangxiang,nodejieXiang,nodeSearch,nodeSetting, nodeWaittingTest,nodeWaittingPacking,nodeWaittingRepair,userManagement, nodejieXiangBySN,nodejieXiangByBox, search,search1; 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,"查詢")); search1=new DefaultMutableTreeNode(new OidNode(22,"查詢RMA NO")); nodeSearch.add(search); nodeSearch.add(search1); parent.add(nodeSearch); nodeSetting=new DefaultMutableTreeNode(new OidNode(3,"設置")); userManagement = new DefaultMutableTreeNode(new OidNode(31,"用戶管理")); nodeSetting.add(userManagement); parent.add(nodeSetting); 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); } public JTree getTree() { return this.m_tree; }}tree.getTree().addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent e){ tvwTreeView_mouseClicked(e); } });private void tvwTreeView_mouseClicked(MouseEvent e) { try { TreePath pa=tree.getTree().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(); } if(oid.equals(".1000.2.21")) { bcp=new BarCodePanel(); js.setRightComponent(bcp); //JOptionPane.showMessageDialog(null,"輸入的目錄名不能為空","Error",JOptionPane.ERROR_MESSAGE); } else if(oid.equals(".1000.0.1")) { try { rs=conManager.getResultSet(con,"1"); wt=new waitTest(rs); js.setRightComponent(wt); }catch(Exception ex){ System.out.println(ex.toString()); } } else if(oid.equals(".1000.0.2")) { try { rs=conManager.getResultSet(con,"3"); wP=new waitPacking(rs); js.setRightComponent(wP); }catch(Exception ex){ System.out.println(ex.toString()); } } else if(oid.equals(".1000.0.3")) { try { rs=conManager.getResultSet(con,"2"); wR=new waitRepair(rs); js.setRightComponent(wR); }catch(Exception ex){ System.out.println(ex.toString()); } } else if(oid.equals(".1000.3.31")) { try { uM = new UserManagement(); js.setRightComponent(uM); }catch(Exception ex){ System.out.println(ex.toString()); } } else if(oid.equals(".1000.2.22")) { swe=new SearchWithExcel(); js.setRightComponent(swe); } else { js.setRightComponent(la1); } la1.setText(oid); }catch(Exception ex){ System.out.println(ex.toString()); } }你參考一下點擊不同的葉子節點時 顯示不同的panel 其中tree.getTree().addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent e){ tvwTreeView_mouseClicked(e); } });是點擊葉子節點時候的響應事件然後根據不懂的id 來決定做神麼 public class TreeNode extends JPanel{ protected JTree m_tree; protected JTextField m_display; protected DefaultMutableTreeNode nodeZhuangxiang,nodejieXiang,nodeSearch,nodeSetting, nodeWaittingTest,nodeWaittingPacking,nodeWaittingRepair,userManagement, nodejieXiangBySN,nodejieXiangByBox, search,search1; 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,"查詢")); search1=new DefaultMutableTreeNode(new OidNode(22,"查詢RMA NO")); nodeSearch.add(search); nodeSearch.add(search1); parent.add(nodeSearch); nodeSetting=new DefaultMutableTreeNode(new OidNode(3,"設置")); userManagement = new DefaultMutableTreeNode(new OidNode(31,"用戶管理")); nodeSetting.add(userManagement); parent.add(nodeSetting); 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); } public JTree getTree() { return this.m_tree; }}這個是一個類 用來表示整個數的 它繼承了JPanel Tomcat5.0和Myeclipse开发,发布工程时工程不完整 Java编写程序 RandomAccessFile 问题 各位大虾,有个关于异常的问题望帮忙解决?? 〔紧急〕SOCKET发送HTTP请求问题请教! xml存储数据,欢迎提供源码和建议 请问我这个程序怎么什么也没显示?? 看一下撒 Frame中有一个Button如何做才能使当这个Button被click时,Frame最小化? 很简单的问题,关于JList 基础问题,关于创建对象的 可不可以把Jframe添加到Jframe??
{
protected JTree m_tree;
protected JTextField m_display;
protected DefaultMutableTreeNode nodeZhuangxiang,nodejieXiang,nodeSearch,nodeSetting,
nodeWaittingTest,nodeWaittingPacking,nodeWaittingRepair,userManagement,
nodejieXiangBySN,nodejieXiangByBox,
search,search1;
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,"查詢"));
search1=new DefaultMutableTreeNode(new OidNode(22,"查詢RMA NO"));
nodeSearch.add(search);
nodeSearch.add(search1);
parent.add(nodeSearch);
nodeSetting=new DefaultMutableTreeNode(new OidNode(3,"設置"));
userManagement = new DefaultMutableTreeNode(new OidNode(31,"用戶管理"));
nodeSetting.add(userManagement);
parent.add(nodeSetting);
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);
}
public JTree getTree()
{
return this.m_tree;
}
}
tree.getTree().addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
tvwTreeView_mouseClicked(e);
}
});
private void tvwTreeView_mouseClicked(MouseEvent e)
{
try
{
TreePath pa=tree.getTree().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();
}
if(oid.equals(".1000.2.21"))
{
bcp=new BarCodePanel();
js.setRightComponent(bcp);
//JOptionPane.showMessageDialog(null,"輸入的目錄名不能為空","Error",JOptionPane.ERROR_MESSAGE);
}
else if(oid.equals(".1000.0.1"))
{
try
{
rs=conManager.getResultSet(con,"1");
wt=new waitTest(rs);
js.setRightComponent(wt);
}catch(Exception ex){
System.out.println(ex.toString());
}
}
else if(oid.equals(".1000.0.2"))
{
try
{
rs=conManager.getResultSet(con,"3");
wP=new waitPacking(rs);
js.setRightComponent(wP);
}catch(Exception ex){
System.out.println(ex.toString());
}
}
else if(oid.equals(".1000.0.3"))
{
try
{
rs=conManager.getResultSet(con,"2");
wR=new waitRepair(rs);
js.setRightComponent(wR);
}catch(Exception ex){
System.out.println(ex.toString());
}
}
else if(oid.equals(".1000.3.31"))
{
try
{
uM = new UserManagement();
js.setRightComponent(uM);
}catch(Exception ex){
System.out.println(ex.toString());
}
}
else if(oid.equals(".1000.2.22"))
{
swe=new SearchWithExcel();
js.setRightComponent(swe);
}
else
{
js.setRightComponent(la1);
}
la1.setText(oid);
}catch(Exception ex){
System.out.println(ex.toString());
}
}你參考一下點擊不同的葉子節點時 顯示不同的panel
tree.getTree().addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
tvwTreeView_mouseClicked(e);
}
});
是點擊葉子節點時候的響應事件然後根據不懂的id 來決定做神麼
{
protected JTree m_tree;
protected JTextField m_display;
protected DefaultMutableTreeNode nodeZhuangxiang,nodejieXiang,nodeSearch,nodeSetting,
nodeWaittingTest,nodeWaittingPacking,nodeWaittingRepair,userManagement,
nodejieXiangBySN,nodejieXiangByBox,
search,search1;
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,"查詢"));
search1=new DefaultMutableTreeNode(new OidNode(22,"查詢RMA NO"));
nodeSearch.add(search);
nodeSearch.add(search1);
parent.add(nodeSearch);
nodeSetting=new DefaultMutableTreeNode(new OidNode(3,"設置"));
userManagement = new DefaultMutableTreeNode(new OidNode(31,"用戶管理"));
nodeSetting.add(userManagement);
parent.add(nodeSetting);
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);
}
public JTree getTree()
{
return this.m_tree;
}
}
這個是一個類 用來表示整個數的 它繼承了JPanel