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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? filetree.java

?? 一個(gè)可以顯示系統(tǒng)目錄樹的控件,挺好用的
?? JAVA
字號(hào):
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.io.*;
import java.util.*;

public class FileTree extends JTree
{
public FileTree(String path) throws FileNotFoundException, SecurityException
{
super((TreeModel)null); // Create the JTree itself

// Use horizontal and vertical lines
putClientProperty("JTree.lineStyle", "Angled");

// Create the first node
FileTreeNode rootNode = new FileTreeNode(null, path);

// Populate the root node with its subdirectories
boolean addedNodes = rootNode.populateDirectories(true);
setModel(new DefaultTreeModel(rootNode));

// Listen for Tree Selection Events
addTreeExpansionListener(new TreeExpansionHandler());
}

// Returns the full pathname for a path, or null if not a known path
public String getPathName(TreePath path)
{
Object o = path.getLastPathComponent();
if (o instanceof FileTreeNode)
{
return ((FileTreeNode)o).file.getAbsolutePath();
}
return null;
}

// Returns the File for a path, or null if not a known path
public File getFile(TreePath path)
{
Object o = path.getLastPathComponent();
if (o instanceof FileTreeNode)
{
return ((FileTreeNode)o).file;
}
return null;
}
// Inner class that represents a node in this file system tree
protected static class FileTreeNode extends DefaultMutableTreeNode
{
protected File file; // File object for this node
protected String name; // Name of this node
protected boolean populated;// true if we have been populated
protected boolean interim; // true if we are in interim state
protected boolean isDir; // true if this is a directory
public FileTreeNode(File parent, String name)throws SecurityException, FileNotFoundException
{
this.name = name;
// See if this node exists and whether it is a directory
file = new File(parent, name);
if (!file.exists())
{
throw new FileNotFoundException("File " + name + " does not exist");
}

isDir = file.isDirectory();

// Hold the File as the user object.
setUserObject(file);
}

// Override isLeaf to check whether this is a directory
public boolean isLeaf()
{
return !isDir;
}

// Override getAllowsChildren to check whether this is a directory
public boolean getAllowsChildren()
{
return isDir;
}

// For display purposes, we return our own name
public String toString()
{
return name;
}

// If we are a directory, scan our contents and populate
// with children. In addition, populate those children
// if the "descend" flag is true. We only descend once,
// to avoid recursing the whole subtree.
// Returns true if some nodes were added
boolean populateDirectories(boolean descend)
{
boolean addedNodes = false;

// Do this only once
if (populated == false)
{
if (interim == true)
{
// We have had a quick look here before:
// remove the dummy node that we added last time
removeAllChildren();
interim = false;
}

String[] names = file.list(); // Get list of contents

// Process the directories
for (int i = 0; i < names.length; i++) {
String name = names[i];
File d = new File(file, name);
try {
if (d.isDirectory())
{
FileTreeNode node = new FileTreeNode(file, name);
this.add(node);
if (descend) {
node.populateDirectories(false);
}
addedNodes = true;
if (descend == false)
{
// Only add one node if not descending
break;
}
}
else
{
FileTreeNode node = new FileTreeNode(file, name);
this.add(node);
}
} catch (Throwable t) {
// Ignore phantoms or access problems
}
}

// If we were scanning to get all subdirectories,
// or if we found no subdirectories, there is no
// reason to look at this directory again, so
// set populated to true. Otherwise, we set interim
// so that we look again in the future if we need to
if (descend == true || addedNodes == false) {
populated = true;
} else {
// Just set interim state
interim = true;
}
}
return addedNodes;
}
}

// Inner class that handles Tree Expansion Events
protected class TreeExpansionHandler implements TreeExpansionListener
{
public void treeExpanded(TreeExpansionEvent evt)
{
TreePath path = evt.getPath(); // The expanded path
JTree tree = (JTree)evt.getSource(); // The tree

// Get the last component of the path and
// arrange to have it fully populated.
FileTreeNode node = (FileTreeNode)path.getLastPathComponent();
if (node.populateDirectories(true)) {
((DefaultTreeModel)tree.getModel()).nodeStructureChanged(node);
}
}
public void treeCollapsed(TreeExpansionEvent evt)
{
// Nothing to do
}
}
} 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久免费看| 久久精品久久综合| 国产成a人无v码亚洲福利| 欧美一区二区三区精品| 日韩在线卡一卡二| 欧美不卡一区二区三区四区| 麻豆视频观看网址久久| 精品免费视频一区二区| 国产麻豆精品95视频| 国产精品人妖ts系列视频| 本田岬高潮一区二区三区| 曰韩精品一区二区| 日韩午夜电影av| 国产白丝精品91爽爽久久| 亚洲欧美一区二区三区国产精品| 97aⅴ精品视频一二三区| 亚洲国产精品久久艾草纯爱| 欧美成人午夜电影| 成人免费高清视频在线观看| 一区二区三区不卡在线观看| 欧美一区二区三区在| 国产成人免费网站| 亚洲成人综合在线| 国产精品三级av在线播放| 欧美人动与zoxxxx乱| 高清在线成人网| 裸体歌舞表演一区二区| 亚洲欧美日韩在线| 中文字幕精品三区| 欧美大胆人体bbbb| 欧美高清激情brazzers| 成人av免费在线| 国产美女主播视频一区| 日本在线播放一区二区三区| 亚洲桃色在线一区| 国产精品传媒在线| 国产午夜精品久久久久久久| 91精品中文字幕一区二区三区| 91麻豆.com| 91蜜桃在线免费视频| www.亚洲免费av| 国产成人一区二区精品非洲| 久久电影国产免费久久电影| 视频一区二区欧美| 日韩电影在线免费看| 日韩电影在线观看一区| 日精品一区二区三区| 日韩一区欧美二区| 男男gaygay亚洲| 久久国产剧场电影| 国产一区视频在线看| 国产白丝网站精品污在线入口| 国产一区高清在线| 成人夜色视频网站在线观看| 成人aaaa免费全部观看| 日韩成人伦理电影在线观看| 奇米一区二区三区| 国产乱子轮精品视频| 欧美性一二三区| 欧美日韩国产高清一区二区| 日韩亚洲欧美综合| 欧美激情一区三区| 亚洲va韩国va欧美va精品| 麻豆高清免费国产一区| 国产91精品精华液一区二区三区| caoporm超碰国产精品| 日韩三级在线观看| 中文字幕一区二区三区精华液 | 欧美bbbbb| 成人一道本在线| 欧美三级电影网| 国产亚洲精品免费| 无码av中文一区二区三区桃花岛| 精品午夜久久福利影院| 91女人视频在线观看| 精品国产免费人成在线观看| 亚洲精品欧美二区三区中文字幕| 男人的天堂亚洲一区| 色综合色综合色综合色综合色综合| 欧美三级电影在线观看| 国产精品久久久久久久浪潮网站| 日韩国产在线观看| 欧美亚洲高清一区二区三区不卡| 久久蜜桃av一区二区天堂 | 久久精品国产一区二区| 日韩欧美123| 日本亚洲天堂网| 国产调教视频一区| 美女视频黄 久久| 欧美狂野另类xxxxoooo| 亚洲精品中文在线影院| 成人三级在线视频| 日本一区二区不卡视频| 韩国av一区二区三区| 日韩精品自拍偷拍| 国产美女在线观看一区| 欧美大片在线观看一区二区| 蜜臀av国产精品久久久久 | 日韩三级视频中文字幕| 免费在线一区观看| 精品久久久久一区二区国产| 视频一区视频二区在线观看| 日韩一卡二卡三卡四卡| 国产精品综合网| 国产精品私人影院| 在线观看视频欧美| 天堂一区二区在线免费观看| 久久综合色播五月| 国产91色综合久久免费分享| 亚洲精品中文在线| 制服丝袜一区二区三区| 国产在线麻豆精品观看| 国产欧美精品日韩区二区麻豆天美| av亚洲精华国产精华| 亚洲午夜电影在线观看| 精品国产乱码久久久久久久| 99精品欧美一区二区蜜桃免费 | 久久亚洲一区二区三区四区| 高清在线不卡av| 日韩黄色一级片| 国产精品国产自产拍高清av| 欧美日韩一级黄| 波多野结衣一区二区三区| 久久99国产精品免费| 亚洲精选在线视频| 国产精品视频观看| 日韩一区二区精品| 欧美日韩国产在线观看| 成人网在线免费视频| 极品尤物av久久免费看| 图片区小说区区亚洲影院| 自拍偷拍欧美激情| 欧美国产禁国产网站cc| 久久蜜臀中文字幕| 日韩三级视频在线看| 欧美日产国产精品| 欧美三级日韩三级国产三级| 色美美综合视频| 成人91在线观看| 91日韩在线专区| 国产成人精品一区二| 国产美女精品在线| 国产一区二区电影| 国产电影一区二区三区| 国产精品亚洲人在线观看| 激情综合五月天| 黑人精品欧美一区二区蜜桃 | 亚洲超碰97人人做人人爱| 亚洲人123区| 亚洲黄色免费电影| 日韩和欧美一区二区三区| 精品一区二区影视| 国产麻豆精品视频| aa级大片欧美| 欧美亚洲一区二区在线| 91.麻豆视频| 欧美电视剧免费全集观看| 国产亚洲欧美中文| 国产精品成人网| 亚洲国产日韩在线一区模特| 日韩精品电影在线观看| 国产一区二区三区免费看| 国产99精品国产| 欧美日韩精品免费| 久久奇米777| 亚洲欧洲国产日本综合| 天堂午夜影视日韩欧美一区二区| 国产做a爰片久久毛片| 一本色道久久综合亚洲aⅴ蜜桃| 日韩欧美色综合网站| 亚洲欧洲日韩在线| 麻豆精品在线观看| 欧美人动与zoxxxx乱| 中文字幕在线观看不卡| 久久se精品一区二区| 欧美日韩精品欧美日韩精品一综合| 日韩欧美国产1| 天堂蜜桃一区二区三区| www.爱久久.com| 国产欧美一区二区在线| 蜜臀精品久久久久久蜜臀 | 欧美成人午夜电影| 亚洲超碰97人人做人人爱| 一本大道av伊人久久综合| 日本一区二区三区在线不卡| 麻豆精品一区二区三区| 欧美另类一区二区三区| 亚洲一二三四久久| 色一情一乱一乱一91av| 国产精品国产三级国产专播品爱网| 经典三级视频一区| 精品国产一二三| 精东粉嫩av免费一区二区三区| 精品人在线二区三区| 激情综合色播激情啊| 国产日韩视频一区二区三区| 激情综合一区二区三区| 日本一区二区高清| 色综合天天综合在线视频| 亚洲欧美日韩国产综合在线 |