亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? classtree.java

?? CoreJAVA 7th Edithon Source Code zip
?? JAVA
字號:
/**
   @version 1.02 2004-08-21
   @author Cay Horstmann
*/

import java.awt.*;
import java.awt.event.*;
import java.lang.reflect.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;

/**
   This program demonstrates cell rendering by showing
   a tree of classes and their superclasses.
*/
public class ClassTree
{  
   public static void main(String[] args)
   {  
      JFrame frame = new ClassTreeFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
   }
}

/**
   This frame displays the class tree, a text field and 
   add button to add more classes into the tree.
*/
class ClassTreeFrame extends JFrame
{  
   public ClassTreeFrame()
   {  
      setTitle("ClassTree");
      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

      // the root of the class tree is Object
      root = new DefaultMutableTreeNode(java.lang.Object.class);
      model = new DefaultTreeModel(root);
      tree = new JTree(model);

      // add this class to populate the tree with some data
      addClass(getClass());

      // set up node icons
      ClassNameTreeCellRenderer renderer = new ClassNameTreeCellRenderer();
      renderer.setClosedIcon(new ImageIcon("red-ball.gif"));
      renderer.setOpenIcon(new ImageIcon("yellow-ball.gif"));
      renderer.setLeafIcon(new ImageIcon("blue-ball.gif"));
      tree.setCellRenderer(renderer);

      add(new JScrollPane(tree), BorderLayout.CENTER);

      addTextField();
   }

   /**
      Add the text field and "Add" button to add a new class.
   */
   public void addTextField()
   {
      JPanel panel = new JPanel();

      ActionListener addListener = new
         ActionListener()
         {
            public void actionPerformed(ActionEvent event)
            {  
               // add the class whose name is in the text field
               try
               {  
                  String text = textField.getText();
                  addClass(Class.forName(text)); // clear text field to indicate success
                  textField.setText("");
               }
               catch (ClassNotFoundException e)
               {  
                  JOptionPane.showMessageDialog(null, "Class not found");
               }
            }
         };

      // new class names are typed into this text field
      textField = new JTextField(20);
      textField.addActionListener(addListener);
      panel.add(textField);

      JButton addButton = new JButton("Add");
      addButton.addActionListener(addListener);
      panel.add(addButton);

      add(panel, BorderLayout.SOUTH);
   }

   /**
      Finds an object in the tree.
      @param obj the object to find
      @return the node containing the object or null
      if the object is not present in the tree
   */
   public DefaultMutableTreeNode findUserObject(Object obj)
   {  
      // find the node containing a user object
      Enumeration e = root.breadthFirstEnumeration();
      while (e.hasMoreElements())
      {  
         DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.nextElement();
         if (node.getUserObject().equals(obj))
            return node;
      }
      return null;
   }

   /**
      Adds a new class and any parent classes that aren't
      yet part of the tree
      @param c the class to add
      @return the newly added node.
   */
   public DefaultMutableTreeNode addClass(Class c)
   {  
      // add a new class to the tree

      // skip non-class types
      if (c.isInterface() || c.isPrimitive()) return null;

      // if the class is already in the tree, return its node
      DefaultMutableTreeNode node = findUserObject(c);
      if (node != null) return node;

      // class isn't present--first add class parent recursively

      Class s = c.getSuperclass();

      DefaultMutableTreeNode parent;
      if (s == null)
         parent = root;
      else
         parent = addClass(s);

      // add the class as a child to the parent
      DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(c);
      model.insertNodeInto(newNode, parent, parent.getChildCount());

      // make node visible
      TreePath path = new TreePath(model.getPathToRoot(newNode));
      tree.makeVisible(path);

      return newNode;
   }

   private DefaultMutableTreeNode root;
   private DefaultTreeModel model;
   private JTree tree;
   private JTextField textField;
   private static final int DEFAULT_WIDTH = 400;
   private static final int DEFAULT_HEIGHT = 300;
}

/**
   This class renders a class name either in plain or italic.
   Abstract classes are italic.
*/
class ClassNameTreeCellRenderer extends DefaultTreeCellRenderer
{  
   public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, 
      boolean expanded, boolean leaf, int row, boolean hasFocus)
   {  
      super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
      // get the user object
      DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
      Class c = (Class) node.getUserObject();

      // the first time, derive italic font from plain font
      if (plainFont == null)
      {  
         plainFont = getFont();
         // the tree cell renderer is sometimes called with a label that has a null font
         if (plainFont != null) italicFont = plainFont.deriveFont(Font.ITALIC);
      }

      // set font to italic if the class is abstract, plain otherwise
      if ((c.getModifiers() & Modifier.ABSTRACT) == 0)
         setFont(plainFont);
      else
         setFont(italicFont);
      return this;
   }

   private Font plainFont = null;
   private Font italicFont = null;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人网男人的天堂| 日本人妖一区二区| 成人精品国产福利| 日本一二三四高清不卡| 国产成人亚洲精品青草天美| 欧美国产精品久久| 99re视频精品| 亚洲一线二线三线视频| 欧美日韩精品免费观看视频| 日韩av电影一区| 精品久久久三级丝袜| 国产在线国偷精品产拍免费yy | 欧美日本在线看| 琪琪一区二区三区| 国产亚洲视频系列| 99久久久久免费精品国产 | 欧美日韩国产片| 经典三级视频一区| 综合欧美一区二区三区| 在线免费一区三区| 久久成人av少妇免费| 亚洲国产成人私人影院tom| 97精品国产97久久久久久久久久久久| 亚洲乱码国产乱码精品精可以看 | 亚洲国产综合91精品麻豆| 欧美一级在线观看| 成人激情开心网| 午夜欧美视频在线观看| 久久精品亚洲麻豆av一区二区| av成人免费在线观看| 日本女人一区二区三区| 国产精品美女www爽爽爽| 欧美日韩精品免费观看视频| 国产成人免费视频| 午夜视频一区在线观看| 亚洲国产成人在线| 制服丝袜在线91| 91免费观看视频在线| 美女一区二区三区| 亚洲免费看黄网站| 精品蜜桃在线看| 欧美亚洲精品一区| 国产宾馆实践打屁股91| 三级欧美韩日大片在线看| 久久精品免费在线观看| 69久久夜色精品国产69蝌蚪网| 成人av动漫网站| 国产在线国偷精品产拍免费yy| 午夜欧美大尺度福利影院在线看| 国产精品欧美综合在线| 精品国产免费一区二区三区四区 | 亚洲日穴在线视频| 国产日产精品1区| 欧美一卡二卡三卡四卡| 欧美日韩在线亚洲一区蜜芽| 成人小视频免费在线观看| 日韩av在线发布| 婷婷中文字幕综合| 一区二区三区免费在线观看| 亚洲国产精品黑人久久久| 欧美电视剧免费观看| 欧美日韩国产精选| 色综合久久综合网欧美综合网 | 成人av资源在线| 国精产品一区一区三区mba视频| 亚洲成av人**亚洲成av**| 日本一区免费视频| 精品盗摄一区二区三区| 日韩三级电影网址| 欧美精品在欧美一区二区少妇| 日本乱人伦一区| 色综合一区二区| 成人av电影在线播放| 国产精品99久久久久久有的能看| 伦理电影国产精品| 美女视频黄a大片欧美| 日本成人在线不卡视频| 亚洲一区在线观看免费| 亚洲精品美国一| 亚洲一区二区三区四区五区黄| 亚洲激情自拍偷拍| 亚洲电影一区二区| 日韩中文字幕不卡| 图片区小说区国产精品视频| 无码av中文一区二区三区桃花岛| 午夜视频一区二区三区| 日韩av中文在线观看| 日本欧美一区二区| 国内成人免费视频| 国产精品正在播放| 成人福利视频在线看| 99热99精品| 欧美日韩一区小说| 欧美一区二区三区四区久久| 日韩欧美不卡在线观看视频| 精品日本一线二线三线不卡| 欧美精品一区在线观看| 国产日韩欧美电影| 亚洲欧洲精品成人久久奇米网| 亚洲精选免费视频| 日本vs亚洲vs韩国一区三区二区| 麻豆精品在线播放| 岛国av在线一区| 在线观看中文字幕不卡| 91精品福利在线一区二区三区| 国产精品毛片高清在线完整版| 国产精品久久久久久久午夜片| 洋洋成人永久网站入口| 奇米一区二区三区av| 国产宾馆实践打屁股91| 欧美无乱码久久久免费午夜一区| 欧美精品久久久久久久多人混战| 欧美mv日韩mv国产网站app| 国产欧美日韩精品在线| 亚洲欧美国产毛片在线| 日韩高清国产一区在线| 丁香五精品蜜臀久久久久99网站| 一本大道av一区二区在线播放| 欧美日韩美少妇| 久久久久97国产精华液好用吗| 亚洲同性gay激情无套| 美女在线视频一区| 91性感美女视频| 日韩欧美中文一区二区| 亚洲日本在线天堂| 国产一区二区三区免费| 色老汉av一区二区三区| www国产亚洲精品久久麻豆| 国产精品久久国产精麻豆99网站| 日韩精品电影在线| 成人av电影免费观看| 欧美电影免费观看高清完整版在线观看 | 国产精品青草综合久久久久99| 婷婷综合另类小说色区| 91在线丨porny丨国产| 精品国产一二三| 五月婷婷激情综合| 99久久99久久精品免费看蜜桃| 日韩午夜精品视频| 亚洲美女精品一区| 国产在线精品免费av| 555www色欧美视频| 亚洲精品一二三| 成人久久18免费网站麻豆| 91精品欧美综合在线观看最新| 亚洲人成伊人成综合网小说| 国产福利一区在线观看| 欧美一卡2卡三卡4卡5免费| 亚洲综合清纯丝袜自拍| www.av亚洲| 久久精品亚洲一区二区三区浴池| 伦理电影国产精品| 91麻豆精品国产91| 五月天激情综合| 在线观看免费亚洲| 亚洲免费在线看| 91丨porny丨中文| 国产精品伦理在线| 国产成人一级电影| 久久嫩草精品久久久精品一| 精品一区二区三区的国产在线播放| 在线看日韩精品电影| 中文字幕中文字幕一区| 国产福利一区二区| 国产亚洲欧美在线| 成人毛片老司机大片| 久久久不卡影院| 韩国毛片一区二区三区| 精品福利av导航| 国产麻豆精品视频| 久久精品视频在线看| 国产精品18久久久久久久久| 国产欧美视频在线观看| 国产成+人+日韩+欧美+亚洲| 国产精品福利在线播放| 国产白丝精品91爽爽久久| 国产精品久久久久久久蜜臀 | 国产精品一区二区三区99| 精品国产乱码久久久久久影片| 国产在线精品一区二区夜色| 精品国产免费久久| 国产91丝袜在线18| 国产精品短视频| 91福利在线观看| 亚洲va中文字幕| 欧美精品一区在线观看| 国产精品亚洲人在线观看| 国产精品欧美一区二区三区| 色婷婷av一区二区三区大白胸| 亚洲成人免费在线| 欧美一区二区三区视频免费播放 | 亚洲第一av色| 欧美日韩一区成人| 免费成人小视频| 国产女人18水真多18精品一级做| www.欧美色图| 亚洲成人免费电影| 久久综合五月天婷婷伊人| www.色精品| 天天色图综合网|