posts - 97,  comments - 93,  trackbacks - 0
          如何在java swing里使用JTree,就像下面這樣的樹

          A tree

          手工創建:
          首先,你需要創建一個JScrollPane,然后創建一個JTree,再然后創建節點TreeNode
          JScrollPane是盛放JTree的容器,JTree是一個結構相當于一個房子的鋼筋框架,真正的內容是節點node。學過數據結構里的樹的話可能會好理解一點。寫代碼的時候,三個過程的創建順序不一定,也可以倒著過來寫。
          比如,創建一個簡單的初始化 樹的方法
          import java.awt.*;
          import java.awt.event.*;
          import javax.swing.*;
          import javax.swing.JTree;
          import javax.swing.tree.*;
          public class NewTree {
              public NewTree() {
                  JFrame jframe=new JFrame();//創建窗體
                  Container c=jframe.getContentPane();//創建容器
                 
                  JScrollPane scrollPane=new JScrollPane();//創建一個用于樹的容器
                  DefaultMutableTreeNode root=new DefaultMutableTreeNode("root");//創建樹根節點
                  DefaultMutableTreeNode file=new DefaultMutableTreeNode("file1");//創建一個文件節點
                  root.add(file);//將文件節點添加到根節點下
                  JTree tree=new JTree(root);//以根節點為參數創建一個樹對象
                  scrollPane.setViewportView(tree);//將樹添加到scrollPane里面,并顯示

                 
                  c.add(scrollPane);//將scrollPane添加到窗體里
                  jframe.pack();
                  jframe.setVisible(true);
                  jframe.addWindowListener(new WindowAdapter(){//這段代碼用于默認關閉
                      public void windowClosing(WindowEvent e){
                              System.exit(0);   
                      }
                  });
              }
              public static void main(String[] args){
                  new NewTree();
              }
          }
          結果是這樣的:注意關鍵的是斜體的代碼,其他的都是swing的東西

          那么如何在netbeans里,創建和使用樹呢?好多人看到的都是下面這樣的:

          這是為什么呢?我找過代碼結果沒找到,后來發現這都是假的,你還是可以通過該改變代碼來創建和使用你的樹:改什么?改TreeModel.
          到源代碼界面下創建一個初始化樹的方法:
          public void treeInitialize(){
             JScrollPane scrollPane=new JScrollPane();
             DefaultMutableTreeNode root=new DefaultMutableTreeNode("root");
             DefaultMutableTreeNode file=new DefaultMutableTreeNode("file1");
             root.add(file);
             JTree tree=new JTree(root);
             TreeModel treeModel = new DefaultTreeModel(root);
             tree.setModel(treeModel);
          }
          注意黑體代碼,這樣在窗體的構造方法中調用treeInitialize()方法,你的樹就被改變了,tree是你用netbeans生成樹對象的引用或者名字,一般會是jTree1。
          接下來就是對樹的操作了,限于篇幅不能再講了
          posted on 2006-12-04 13:11 wqwqwqwqwq 閱讀(3876) 評論(2)  編輯  收藏 所屬分類: Simple Java

          FeedBack:
          # re: swing中JTree的使用和JTree在netbeans中的用法(轉)
          2007-11-18 21:58 | 飛飛
          為什么沒有提到JTree的事件監聽呢?  回復  更多評論
            
          # re: swing中JTree的使用和JTree在netbeans中的用法(轉)[未登錄]
          2007-11-18 22:07 | 曲強 Nicky
          參考下DefaultMutableTreeNode等類,改天有時間寫個簡單的例子  回復  更多評論
            
          <2007年11月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678




          常用鏈接

          留言簿(10)

          隨筆分類(95)

          隨筆檔案(97)

          文章檔案(10)

          相冊

          J2ME技術網站

          java技術相關

          mess

          搜索

          •  

          最新評論

          閱讀排行榜

          校園夢網網絡電話,中國最優秀的網絡電話
          主站蜘蛛池模板: 广东省| 迁西县| 文化| 海淀区| 谢通门县| 赣榆县| 绥化市| 乐至县| 杨浦区| 清原| 灵台县| 新和县| 剑川县| 墨竹工卡县| 民勤县| 旺苍县| 英山县| 平邑县| 新巴尔虎右旗| 石林| 临朐县| 屯门区| 揭东县| 贡嘎县| 柘荣县| 古浪县| 台南县| 临沭县| 广元市| 迁西县| 承德县| 铜陵市| 沂源县| 贺兰县| 保定市| 沧源| 伊吾县| 龙山县| 东莞市| 双城市| 沙田区|