如上!最好有代码解释

解决方案 »

  1.   

        建立一个JPanel,定义它的布局为CardLayout,将其它需要调用的panel添加到该面板中,注意添加的时候使用add(panel1,"card1"),这样card1就代表panel1。然后给jtree添加事件。如下:private void jTree1ValueChanged(javax.swing.event.TreeSelectionEvent evt) {                                    
            DefaultMutableTreeNode node = (DefaultMutableTreeNode)jTree1.getLastSelectedPathComponent();
            if(node.toString().equals("1")) {
               ((CardLayout)cardPanel.getLayout()).show(cardPanel, "card1");
               cardPanel.validate();
            }
            else if(node.toString().equals("2")){
                 
                      ((CardLayout)cardPanel.getLayout()).show(cardPanel, "card2");
                      cardPanel.validate();
                 
            }
            else if(node.toString().equals("3")){
                
                    ((CardLayout)cardPanel.getLayout()).show(cardPanel, "card3");
                    cardPanel.validate();
               
            }
        }  
      

  2.   

    先定义一个 XXXNode.getPanel();listener = new TreeSelectionListener(){
    public void valueChanged(TreeSelectionEvent e){
         DefaultMutableTreeNode   node   =   (DefaultMutableTreeNode)e.getPath.getLastSelectedPathComponent(); 
         ((XXXNode)node.getUserObject()).getPanel().show();
    }
    theTree.addTreeSelectionListener(listerner);