<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狂 閱讀(823) 評論(0)  編輯  收藏 所屬分類: 圖形用戶界面

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

    導航

    統計

    常用鏈接

    留言簿(11)

    隨筆分類(48)

    文章分類(29)

    常去逛逛

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 中文日韩亚洲欧美制服| 91精品免费久久久久久久久| 亚洲国产日韩精品| 日本亚洲欧洲免费天堂午夜看片女人员| 成人毛片免费观看视频在线 | 成人人观看的免费毛片| 国内精品免费在线观看| 性生大片视频免费观看一级| 亚洲日韩国产一区二区三区在线| 91亚洲自偷手机在线观看| 亚洲中文字幕不卡无码| 亚洲国产午夜中文字幕精品黄网站 | 亚洲一区二区三区免费观看 | 亚洲国产高清在线| 在线a亚洲v天堂网2019无码| 亚洲AV无码乱码在线观看性色扶 | 免费播放美女一级毛片| 亚洲老熟女五十路老熟女bbw| 亚洲区视频在线观看| 亚洲精彩视频在线观看| 亚洲欧洲一区二区| 水蜜桃亚洲一二三四在线| 夜夜春亚洲嫩草影院| 亚洲一区二区视频在线观看| 亚洲福利中文字幕在线网址| 免费A级毛片在线播放不收费| 国产无遮挡吃胸膜奶免费看| 狠狠久久永久免费观看| 永久中文字幕免费视频网站| 午夜毛片不卡高清免费| 免费无码黄动漫在线观看| 青青草国产免费久久久91| 日韩视频免费一区二区三区| 免费无码又爽又刺激毛片| 成人永久免费福利视频网站| 狼友av永久网站免费观看| 免费又黄又爽的视频| 亚洲国产精品毛片av不卡在线| 美腿丝袜亚洲综合| 亚洲精品无码久久一线| 国产精品国产亚洲精品看不卡|