怎么做出一个复杂的JTree模型

如何做出一个复杂的JTree模型?

以下是一个关于JTree构建模型的例子,代码贴出来如下:

怎么做出一个复杂的JTree模型package  day18_JTree;
怎么做出一个复杂的JTree模型
怎么做出一个复杂的JTree模型
import  java.awt. * ;
怎么做出一个复杂的JTree模型
import  java.awt.event. * ;
怎么做出一个复杂的JTree模型
import  javax.swing. * ;
怎么做出一个复杂的JTree模型
import  javax.swing.tree. * ;
怎么做出一个复杂的JTree模型
怎么做出一个复杂的JTree模型怎么做出一个复杂的JTree模型
class  TreeEditFrame  extends  JFrame  implements  ActionListener  怎么做出一个复杂的JTree模型 {
怎么做出一个复杂的JTree模型     
private   static   final   long  serialVersionUID  =   1L ;
怎么做出一个复杂的JTree模型     
private  DefaultTreeModel model;
怎么做出一个复杂的JTree模型     
private  JTree tree;
怎么做出一个复杂的JTree模型     
private  JButton addSiblingButton;
怎么做出一个复杂的JTree模型     
private  JButton addChildButton;
怎么做出一个复杂的JTree模型     
private  JButton deleteButton;
怎么做出一个复杂的JTree模型     
怎么做出一个复杂的JTree模型怎么做出一个复杂的JTree模型     
public  TreeEditFrame()  怎么做出一个复杂的JTree模型 {
怎么做出一个复杂的JTree模型         setTitle(
" TreeEditTest " );
怎么做出一个复杂的JTree模型         setSize(
300 200 );
怎么做出一个复杂的JTree模型         
this .pack();
怎么做出一个复杂的JTree模型         
this .setSize( 500 , 200 );
怎么做出一个复杂的JTree模型         Toolkit tool 
=  Toolkit.getDefaultToolkit();
怎么做出一个复杂的JTree模型         
double  width  =  tool.getScreenSize().getWidth();
怎么做出一个复杂的JTree模型         
double  height  =  tool.getScreenSize().getHeight();
怎么做出一个复杂的JTree模型         
this .setLocation((( int )(width - this .getWidth())) / 2 ,( int )(height - this .getHeight()) / 2 );
怎么做出一个复杂的JTree模型         
this .setVisible( true );
怎么做出一个复杂的JTree模型         
this .setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
怎么做出一个复杂的JTree模型         TreeNode root 
=  makeSampleTree();
怎么做出一个复杂的JTree模型         model 
=   new  DefaultTreeModel(root);
怎么做出一个复杂的JTree模型         tree 
=   new  JTree(model);
怎么做出一个复杂的JTree模型         DefaultTreeCellRenderer renderer
= new  DefaultTreeCellRenderer();
怎么做出一个复杂的JTree模型         renderer.setLeafIcon(
new  ImageIcon( " 1.gif " ));
怎么做出一个复杂的JTree模型         renderer.setClosedIcon(
new  ImageIcon( " 2.gif " ));
怎么做出一个复杂的JTree模型         renderer.setOpenIcon(
new  ImageIcon( " 3.gif " ));
怎么做出一个复杂的JTree模型         
// renderer.setBackgroundNonSelectionColor(Color.BLUE);
怎么做出一个复杂的JTree模型         
// renderer.setBackgroundSelectionColor(Color.RED);
怎么做出一个复杂的JTree模型
        renderer.setBorderSelectionColor(Color.RED);
怎么做出一个复杂的JTree模型         tree.setCellRenderer(renderer);
怎么做出一个复杂的JTree模型         Container contentPane 
=  getContentPane();
怎么做出一个复杂的JTree模型         JScrollPane scrollPane 
=   new  JScrollPane(tree);
怎么做出一个复杂的JTree模型         contentPane.add(scrollPane, 
" Center " );
怎么做出一个复杂的JTree模型         JPanel panel 
=   new  JPanel();
怎么做出一个复杂的JTree模型         addSiblingButton 
=   new  JButton( " Add   Sibling " );
怎么做出一个复杂的JTree模型         addSiblingButton.addActionListener(
this );
怎么做出一个复杂的JTree模型         panel.add(addSiblingButton);
怎么做出一个复杂的JTree模型         addChildButton 
=   new  JButton( " Add   Child " );
怎么做出一个复杂的JTree模型         addChildButton.addActionListener(
this );
怎么做出一个复杂的JTree模型         panel.add(addChildButton);
怎么做出一个复杂的JTree模型         deleteButton 
=   new  JButton( " Delete " );
怎么做出一个复杂的JTree模型         deleteButton.addActionListener(
this );
怎么做出一个复杂的JTree模型         panel.add(deleteButton);
怎么做出一个复杂的JTree模型         contentPane.add(panel, 
" South " );
怎么做出一个复杂的JTree模型     }

怎么做出一个复杂的JTree模型
怎么做出一个复杂的JTree模型怎么做出一个复杂的JTree模型     
public  TreeNode makeSampleTree()  怎么做出一个复杂的JTree模型 {
怎么做出一个复杂的JTree模型         DefaultMutableTreeNode root 
=   new  DefaultMutableTreeNode( " World " );
怎么做出一个复杂的JTree模型         DefaultMutableTreeNode country 
=   new  DefaultMutableTreeNode( " USA " );
怎么做出一个复杂的JTree模型         root.add(country);
怎么做出一个复杂的JTree模型         DefaultMutableTreeNode state 
=   new  DefaultMutableTreeNode( " California " );
怎么做出一个复杂的JTree模型         country.add(state);
怎么做出一个复杂的JTree模型         DefaultMutableTreeNode city 
=   new  DefaultMutableTreeNode( " San   Jose " );
怎么做出一个复杂的JTree模型         state.add(city);
怎么做出一个复杂的JTree模型         city 
=   new  DefaultMutableTreeNode( " Cupertino " );
怎么做出一个复杂的JTree模型         state.add(city);
怎么做出一个复杂的JTree模型         state 
=   new  DefaultMutableTreeNode( " Michigan " );
怎么做出一个复杂的JTree模型         country.add(state);
怎么做出一个复杂的JTree模型         city 
=   new  DefaultMutableTreeNode( " Ann   Arbor " );
怎么做出一个复杂的JTree模型         state.add(city);
怎么做出一个复杂的JTree模型         country 
=   new  DefaultMutableTreeNode( " Germany " );
怎么做出一个复杂的JTree模型         root.add(country);
怎么做出一个复杂的JTree模型         state 
=   new  DefaultMutableTreeNode( " Schleswig-Holstein " );
怎么做出一个复杂的JTree模型         country.add(state);
怎么做出一个复杂的JTree模型         city 
=   new  DefaultMutableTreeNode( " Kiel " );
怎么做出一个复杂的JTree模型         state.add(city);
怎么做出一个复杂的JTree模型         
return  root;
怎么做出一个复杂的JTree模型     }

怎么做出一个复杂的JTree模型怎么做出一个复杂的JTree模型     
public   void  actionPerformed(ActionEvent event)  怎么做出一个复杂的JTree模型 {
怎么做出一个复杂的JTree模型         DefaultMutableTreeNode selectedNode 
=  (DefaultMutableTreeNode) tree
怎么做出一个复杂的JTree模型         .getLastSelectedPathComponent();
怎么做出一个复杂的JTree模型         
if  (selectedNode  ==   null )
怎么做出一个复杂的JTree模型             
return ;
怎么做出一个复杂的JTree模型怎么做出一个复杂的JTree模型         
if  (event.getSource().equals(deleteButton))  怎么做出一个复杂的JTree模型 {
怎么做出一个复杂的JTree模型             
if  (selectedNode.getParent()  !=   null )
怎么做出一个复杂的JTree模型                 model.removeNodeFromParent(selectedNode);
怎么做出一个复杂的JTree模型             
return ;
怎么做出一个复杂的JTree模型         }

怎么做出一个复杂的JTree模型         DefaultMutableTreeNode newNode 
=   new  DefaultMutableTreeNode( " New " );
怎么做出一个复杂的JTree模型怎么做出一个复杂的JTree模型         
if  (event.getSource().equals(addSiblingButton))  怎么做出一个复杂的JTree模型 {
怎么做出一个复杂的JTree模型             DefaultMutableTreeNode parent 
=  (DefaultMutableTreeNode) selectedNode
怎么做出一个复杂的JTree模型             .getParent();
怎么做出一个复杂的JTree模型
怎么做出一个复杂的JTree模型怎么做出一个复杂的JTree模型             
if  (parent  !=   null 怎么做出一个复杂的JTree模型 {
怎么做出一个复杂的JTree模型                 
int  selectedIndex  =  parent.getIndex(selectedNode);
怎么做出一个复杂的JTree模型                 model.insertNodeInto(newNode, parent, selectedIndex 
+   1 );
怎么做出一个复杂的JTree模型             }

怎么做出一个复杂的JTree模型怎么做出一个复杂的JTree模型         }
  else   if  (event.getSource().equals(addChildButton))  怎么做出一个复杂的JTree模型 {
怎么做出一个复杂的JTree模型             model.insertNodeInto(newNode, selectedNode, selectedNode
怎么做出一个复杂的JTree模型                     .getChildCount());
怎么做出一个复杂的JTree模型         }

怎么做出一个复杂的JTree模型         TreeNode[] nodes 
=  model.getPathToRoot(newNode);
怎么做出一个复杂的JTree模型         TreePath path 
=   new  TreePath(nodes);
怎么做出一个复杂的JTree模型         tree.scrollPathToVisible(path);
怎么做出一个复杂的JTree模型     }

怎么做出一个复杂的JTree模型 }
 
怎么做出一个复杂的JTree模型怎么做出一个复杂的JTree模型
public   class  TreeEditTest  怎么做出一个复杂的JTree模型 {
怎么做出一个复杂的JTree模型怎么做出一个复杂的JTree模型     
public   static   void  main(String[] args)  怎么做出一个复杂的JTree模型 {
怎么做出一个复杂的JTree模型         JFrame frame 
=   new  TreeEditFrame();
怎么做出一个复杂的JTree模型         frame.show();
怎么做出一个复杂的JTree模型     }

怎么做出一个复杂的JTree模型 }

怎么做出一个复杂的JTree模型


截图:
怎么做出一个复杂的JTree模型