<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    在樹節(jié)點上顯示用戶對象的某個字段值

    開發(fā)工具:Eclipse3.2+VisualEditor插件

    import  java.awt.BorderLayout;
    import  javax.swing.SwingUtilities;
    import  javax.swing.JPanel;
    import  javax.swing.JFrame;
    import  java.awt.GridBagLayout;
    import  javax.swing.JTree;
    import  javax.swing.tree.DefaultMutableTreeNode;
    import  javax.swing.tree.DefaultTreeModel;
    import  javax.swing.tree.TreeNode;
    import  javax.swing.tree.TreePath;
    import  java.awt.GridBagConstraints;
    import  javax.swing.JButton;
    import  java.awt.FlowLayout;
    // 在樹節(jié)點上顯示用戶對象的某個字段值。
    public   class  IDTree
    {

        
    private  JFrame jFrame  =   null ;

        
    private  JPanel jContentPane  =   null ;

        
    private  JPanel jPanel  =   null ;

        
    private  JTree jTree  =   null ;

        
    private  JPanel jPanel1  =   null ;

        
    private  JButton jButton  =   null ;

        
    private  JButton jButton1  =   null ;

        
    private  DefaultTreeModel treeModel;

        
    private  DefaultMutableTreeNode root;

        
    private   int  id;


        
    /**
         * This method initializes jPanel
         * 
         * 
    @return  javax.swing.JPanel
         
    */

        
    private  JPanel getJPanel()
        
    {
            
    if  (jPanel  ==   null )
            
    {
                GridBagConstraints gridBagConstraints 
    =   new  GridBagConstraints();
                gridBagConstraints.fill 
    =  GridBagConstraints.BOTH;
                gridBagConstraints.gridy 
    =   0 ;
                gridBagConstraints.weightx 
    =   1.0 ;
                gridBagConstraints.weighty 
    =   1.0 ;
                gridBagConstraints.gridheight 
    =   1 ;
                gridBagConstraints.gridx 
    =   0 ;
                jPanel 
    =   new  JPanel();
                jPanel.setLayout(
    new  GridBagLayout());
                jPanel.add(getJTree(), gridBagConstraints);
            }

            
    return  jPanel;
        }


        
    /**
         * This method initializes jTree
         * 
         * 
    @return  javax.swing.JTree
         
    */

        
    private  JTree getJTree()
        
    {
            
    if  (jTree  ==   null )
            
    {
                Person person 
    =   new  Person();
                root 
    =   new  DefaultMutableTreeNode(person);
                treeModel 
    =   new  DefaultTreeModel(root);
                jTree 
    =   new  JTree(treeModel);
                jTree.setEditable(
    true );
                jTree.setShowsRootHandles(
    true );
                jTree
                        .addTreeSelectionListener(
    new  javax.swing.event.TreeSelectionListener()
                        
    {
                            
    public   void  valueChanged(
                                    javax.swing.event.TreeSelectionEvent e)
                            
    {
                                
    //  TODO Auto-generated 選擇樹節(jié)點事件
                                TreePath path  =  jTree.getSelectionPath();
                                
    if  (path  ==   null )
                                    
    return ;
                                DefaultMutableTreeNode selectedNode 
    =  (DefaultMutableTreeNode) path
                                        .getLastPathComponent();
                                Person person 
    =  (Person) selectedNode
                                        .getUserObject();
                                System.out.println(
    " ID: "   + person.getId()
                                        
    +   "  name: "   +  person.getName()
                                        
    +   "  level: "   +  person.getLevel());
                            }

                        }
    );
            }

            
    return  jTree;
        }


        
    /**
         * This method initializes jPanel1
         * 
         * 
    @return  javax.swing.JPanel
         
    */

        
    private  JPanel getJPanel1()
        
    {
            
    if  (jPanel1  ==   null )
            
    {
                jPanel1 
    =   new  JPanel();
                jPanel1.setLayout(
    new  FlowLayout());
                jPanel1.add(getJButton(), 
    null );
                jPanel1.add(getJButton1(), 
    null );
            }

            
    return  jPanel1;
        }


        
    /**
         * This method initializes jButton
         * 
         * 
    @return  javax.swing.JButton
         
    */

        
    private  JButton getJButton()
        
    {
            
    if  (jButton  ==   null )
            
    {
                jButton 
    =   new  JButton();
                jButton.setText(
    " 增加人員 " );
                jButton.addActionListener(
    new  java.awt.event.ActionListener()
                
    {
                    
    public   void  actionPerformed(java.awt.event.ActionEvent e)
                    
    {
                        
    //  TODO Auto-generated 增加節(jié)點事件
                        DefaultMutableTreeNode selectedNode  =  (DefaultMutableTreeNode) jTree.getLastSelectedPathComponent();
                        
    if  (selectedNode  ==   null )
                            
    return ;
                        Person person 
    =   new  Person();
                        person.setId(
    ++ id);
                        DefaultMutableTreeNode newNode 
    =   new  DefaultMutableTreeNode(person);
                        treeModel.insertNodeInto(newNode, selectedNode,selectedNode.getChildCount());
                        TreeNode[] nodes 
    =  treeModel.getPathToRoot(newNode);
                        TreePath path 
    =   new  TreePath(nodes);
                        jTree.scrollPathToVisible(path);
                    }

                }
    );
            }

            
    return  jButton;
        }


        
    /**
         * This method initializes jButton1
         * 
         * 
    @return  javax.swing.JButton
         
    */

        
    private  JButton getJButton1()
        
    {
            
    if  (jButton1  ==   null )
            
    {
                jButton1 
    =   new  JButton();
                jButton1.setText(
    " 刪除人員 " );
                jButton1.addActionListener(
    new  java.awt.event.ActionListener()
                
    {
                    
    public   void  actionPerformed(java.awt.event.ActionEvent e)
                    
    {
                        
    //  TODO Auto-generated 刪除節(jié)點事件
                        DefaultMutableTreeNode selectedNode  =  (DefaultMutableTreeNode) jTree .getLastSelectedPathComponent();
                        
    if  (selectedNode  !=   null &&  selectedNode.getParent()  !=   null )
                        
    {
                            treeModel.removeNodeFromParent(selectedNode);
                        }

                    }

                }
    );
            }

            
    return  jButton1;
        }


        
        
    /**
         * 
    @param  args
         
    */

        
    public   static   void  main(String[] args)
        
    {
            
    //  TODO Auto-generated method stub
            SwingUtilities.invokeLater( new  Runnable()
            
    {
                
    public   void  run()
                
    {
                    IDTree application 
    =   new  IDTree();
                    application.getJFrame().setVisible(
    true );
                }

            }
    );
        }


        
    /**
         * This method initializes jFrame
         * 
         * 
    @return  javax.swing.JFrame
         
    */

        
    private  JFrame getJFrame()
        
    {
            
    if  (jFrame  ==   null )
            
    {
                jFrame 
    =   new  JFrame();
                jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                jFrame.setSize(
    800 600 );
                jFrame.setLocation(
    100 100 );
                jFrame.setContentPane(getJContentPane());
                jFrame.setTitle(
    " 人員級別樹 " );
            }

            
    return  jFrame;
        }


        
    /**
         * This method initializes jContentPane
         * 
         * 
    @return  javax.swing.JPanel
         
    */

        
    private  JPanel getJContentPane()
        
    {
            
    if  (jContentPane  ==   null )
            
    {
                jContentPane 
    =   new  JPanel();
                jContentPane.setLayout(
    new  BorderLayout());
                jContentPane.add(getJPanel(), BorderLayout.CENTER);
                jContentPane.add(getJPanel1(), BorderLayout.SOUTH);
            }

            
    return  jContentPane;
        }


    }


    class  Person
    {
        
    private   int  id; // 人員加入順序的編號,從1開始。

        
    private   int  name; // 人員姓名,暫時不設(shè)置。

        
    private   int  level; // 人員等級,暫時不設(shè)置。
        
        
        
    public   int  getId()
        
    {
            
    return  id;
        }



        
    public   void  setId( int  id)
        
    {
            
    this .id  =  id;
        }



        
    public   int  getLevel()
        
    {
            
    return  level;
        }



        
    public   void  setLevel( int  level)
        
    {
            
    this .level  =  level;
        }



        
    public   int  getName()
        
    {
            
    return  name;
        }



        
    public   void  setName( int  name)
        
    {
            
    this .name  =  name;
        }



        @Override
        
    public  String toString() // 關(guān)鍵步驟,通過重寫Object的toString(),來實現(xiàn)在樹節(jié)點上顯示加入人員的順序編號。
         {
            
    //  TODO Auto-generated method stub
             return  String.valueOf(id);
        }


    }


     



    posted on 2007-03-02 18:23 我為J狂 閱讀(826) 評論(0)  編輯  收藏 所屬分類: 圖形用戶界面

    <2007年3月>
    25262728123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(11)

    隨筆分類(48)

    文章分類(29)

    常去逛逛

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 可以免费观看的毛片| 精品亚洲AV无码一区二区| 亚洲视频在线一区二区| 国产一级理论免费版| 成人免费视频国产| 国产免费看插插插视频| 国产免费黄色大片| 亚洲国产成人VA在线观看| 久久久久久A亚洲欧洲AV冫| 亚洲自偷自偷偷色无码中文| 在线观看午夜亚洲一区| 亚洲欧洲日产国码av系列天堂| 国产中文在线亚洲精品官网| 国产精品亚洲产品一区二区三区| 亚洲婷婷国产精品电影人久久| 亚洲精品久久久www| 亚洲精品午夜无码专区| 亚洲AV无码一区二区三区系列| 亚洲国语精品自产拍在线观看| 亚洲天天在线日亚洲洲精| 亚洲精品在线视频观看| 国产精品亚洲精品观看不卡| 亚洲熟妇久久精品| 日韩欧美亚洲国产精品字幕久久久| 国产成人亚洲综合无| 国产免费内射又粗又爽密桃视频| 91免费国产视频| 最近中文字幕完整免费视频ww | 亚洲精品无码久久毛片波多野吉衣 | 日韩精品人妻系列无码专区免费| 麻花传媒剧在线mv免费观看| 久久WWW免费人成人片| 可以免费观看一级毛片黄a | 免费看片免费播放| 久久亚洲精品无码观看不卡| 亚洲Av熟妇高潮30p| 国产成人精品亚洲日本在线| 老司机免费午夜精品视频| 国产真人无码作爱免费视频| 亚洲精品视频免费在线观看| 麻豆国产人免费人成免费视频|