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

          A tree

          手工創(chuàng)建:
          首先,你需要?jiǎng)?chuàng)建一個(gè)JScrollPane,然后創(chuàng)建一個(gè)JTree,再然后創(chuàng)建節(jié)點(diǎn)TreeNode
          JScrollPane是盛放JTree的容器,JTree是一個(gè)結(jié)構(gòu)相當(dāng)于一個(gè)房子的鋼筋框架,真正的內(nèi)容是節(jié)點(diǎn)node。學(xué)過數(shù)據(jù)結(jié)構(gòu)里的樹的話可能會(huì)好理解一點(diǎn)。寫代碼的時(shí)候,三個(gè)過程的創(chuàng)建順序不一定,也可以倒著過來寫。
          比如,創(chuàng)建一個(gè)簡(jiǎn)單的初始化 樹的方法
          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();//創(chuàng)建窗體
                  Container c=jframe.getContentPane();//創(chuàng)建容器
                 
                  JScrollPane scrollPane=new JScrollPane();//創(chuàng)建一個(gè)用于樹的容器
                  DefaultMutableTreeNode root=new DefaultMutableTreeNode("root");//創(chuàng)建樹根節(jié)點(diǎn)
                  DefaultMutableTreeNode file=new DefaultMutableTreeNode("file1");//創(chuàng)建一個(gè)文件節(jié)點(diǎn)
                  root.add(file);//將文件節(jié)點(diǎn)添加到根節(jié)點(diǎn)下
                  JTree tree=new JTree(root);//以根節(jié)點(diǎn)為參數(shù)創(chuàng)建一個(gè)樹對(duì)象
                  scrollPane.setViewportView(tree);//將樹添加到scrollPane里面,并顯示

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

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

          這是為什么呢?我找過代碼結(jié)果沒找到,后來發(fā)現(xiàn)這都是假的,你還是可以通過該改變代碼來創(chuàng)建和使用你的樹:改什么?改TreeModel.
          到源代碼界面下創(chuàng)建一個(gè)初始化樹的方法:
          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);
          }
          注意黑體代碼,這樣在窗體的構(gòu)造方法中調(diào)用treeInitialize()方法,你的樹就被改變了,tree是你用netbeans生成樹對(duì)象的引用或者名字,一般會(huì)是jTree1。
          接下來就是對(duì)樹的操作了,限于篇幅不能再講了
          posted on 2006-12-04 13:11 wqwqwqwqwq 閱讀(3876) 評(píng)論(2)  編輯  收藏 所屬分類: Simple Java

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




          常用鏈接

          留言簿(10)

          隨筆分類(95)

          隨筆檔案(97)

          文章檔案(10)

          相冊(cè)

          J2ME技術(shù)網(wǎng)站

          java技術(shù)相關(guān)

          mess

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          校園夢(mèng)網(wǎng)網(wǎng)絡(luò)電話,中國(guó)最優(yōu)秀的網(wǎng)絡(luò)電話
          主站蜘蛛池模板: 雅江县| 舟山市| 藁城市| 友谊县| 泾源县| 广德县| 新泰市| 临朐县| 洛隆县| 报价| 栾城县| 丘北县| 瑞丽市| 连平县| 仙居县| 额济纳旗| 东海县| 岚皋县| 荆门市| 台安县| 永宁县| 乳山市| 留坝县| 弋阳县| 印江| 十堰市| 廊坊市| 平邑县| 合山市| 陈巴尔虎旗| 丽江市| 龙游县| 嵊州市| 临澧县| 芒康县| 华宁县| 龙州县| 福安市| 象山县| 兴城市| 邮箱|