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

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

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

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

    開發工具: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;
    // 在樹節點上顯示用戶對象的某個字段值。
    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 選擇樹節點事件
                                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 增加節點事件
                        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 刪除節點事件
                        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; // 人員姓名,暫時不設置。

        
    private   int  level; // 人員等級,暫時不設置。
        
        
        
    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() // 關鍵步驟,通過重寫Object的toString(),來實現在樹節點上顯示加入人員的順序編號。
         {
            
    //  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

    導航

    統計

    常用鏈接

    留言簿(11)

    隨筆分類(48)

    文章分類(29)

    常去逛逛

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲AV无码资源在线观看| 亚洲色大成网站www永久男同| 日本视频免费高清一本18| 免费av一区二区三区| 国产免费毛不卡片| 永久免费无码网站在线观看| 免费毛片在线播放| 亚洲色偷偷色噜噜狠狠99| 免费影院未满十八勿进网站| 大胆亚洲人体视频| 国产亚洲综合一区柠檬导航| 亚洲欧洲精品在线| 免费看一级高潮毛片| 四虎国产精品永久免费网址| 最近中文字幕mv免费高清电影| 亚洲毛片不卡av在线播放一区| 亚洲国产精品线在线观看| 亚洲精品av无码喷奶水糖心 | 精品亚洲成A人无码成A在线观看| 在线亚洲v日韩v| 18禁止看的免费污网站| 内射无码专区久久亚洲| jizz在线免费播放| 国产桃色在线成免费视频| 国产亚洲玖玖玖在线观看| 日韩午夜理论免费TV影院| 久久精品亚洲男人的天堂| 亚洲人成综合在线播放| 未满十八18禁止免费无码网站 | www.黄色免费网站| 国产成人精品日本亚洲语音 | 久久国产精品2020免费m3u8| 亚洲成人午夜电影| 美女被cao网站免费看在线看| 亚洲精品成人网站在线播放| 成年人视频在线观看免费| 一个人晚上在线观看的免费视频| 日本高清免费不卡在线| 亚洲av无码片在线观看| 亚洲第一黄片大全| 色婷婷亚洲一区二区三区|