if(!
path.endsWith("\\")&&!
path.equals(""))//不为空是为去根节点;path+="\\";
path+=temp[i];
}
returnpath;
}
publicclassExpandListenerimplementsTreeWillExpandListener{
/*
*树展开及收缩监听;
*/
privateMainFramemainFrame=null;
publicExpandListener(MainFramemainFrame){
this.mainFrame=mainFrame;
}
publicvoidtreeWillExpand(TreeExpansionEventevent){
//对节点的路径进行转化
Stringpath=toFilePath(event.getPath().toString());
TreePathtreePath=event.getPath();
DefaultMutableTreeNodenode=(DefaultMutableTreeNode)treePath
.getLastPathComponent();
//System.out.println("所展开节点的路径:
"+path);
//System.out.println(treePath);
if(node.getDepth()<2){
Enumerationchildren=node.children();
StringfilePath="";
while(children.hasMoreElements()){
DefaultMutableTreeNodetemp=(DefaultMutableTreeNode)children
.nextElement();
filePath="";
filePath=path;
if(!
filePath.endsWith("\\"))
filePath+="\\";
filePath+=temp.toString();
//System.out.println("temp="+filePath);mainFrame.addPrefetchChildren(filePath,temp);
}
}
}
2)、添加功能“添加文件(夹)addframe()”、“修改文件(夹)mvframe()”
publicvoidaddframe(){
JFrameaddFrame=newJFrame();
JLabeljlbl=newJLabel("请输入要添加的文件
addrs=newJLabel("");
addrs.setBounds(180,10,100,25);
jlbl.setBounds(10,10,170,25);
addfile=newJTextField();
addfile.setBounds(10,40,260,25);
btnaddf=newJButton("添加文件");
btnaddd=newJButton("添加文件夹");
btnaddf.setBounds(20,80,100,25);
btnaddd.setBounds(160,80,100,25);
btnaddf.addActionListener(this);
btnaddd.addActionListener(this);
addFrame.add(jlbl);
addFrame.add(addrs);
addFrame.add(addfile);
addFrame.add(btnaddf);
addFrame.add(btnaddd);
addFrame.setBounds(400,350,300,150);
addFrame.setTitle("添加文件(夹)");
(夹)名:
");
addFrame.setLayout(null);
addFrame.setVisible(true);
}
publicvoidmvframe(){
JFramemvFrame=newJFrame();
JLabeljlbl=newJLabel("请输入修改后的文件名:
");
mvrs=newJLabel("");
mvrs.setBounds(160,10,140,25);
jlbl.setBounds(10,10,170,25);
mvfile=newJTextField();
mvfile.setBounds(10,40,260,25);
btnmvf=newJButton("修改文件名");
btnmvd=newJButton("修改文件夹名");
btnmvf.setBounds(10,80,120,25);
btnmvd.setBounds(150,80,120,25);
btnmvf.addActionListener(this);
btnmvd.addActionListener(this);
mvFrame.add(jlbl);
mvFrame.add(mvrs);
mvFrame.add(mvfile);
mvFrame.add(btnmvf);
mvFrame.add(btnmvd);
mvFrame.setBounds(400,350,300,150);
mvFrame.setTitle("修改文件(夹)名");
mvFrame.setLayout(null);
mvFrame.setVisible(true);
}
}
3)显示文件
*显示系统中的所有盘符;
publicString[]ListDisks(){
Fileroots[]=File.listRoots();//根盘符;
Stringdisks[]=newString[roots.length];
for(inti=0;idisks[i]=roots[i].toString();
}
returndisks;
}
*获得路径path下的文件;
publicString[]listAll(Stringpath){
try{
Filef=newFile(path);
String[]fileName;
Stringtmp=null;
mainFrame.fileshow.setText(null);
mainFrame.filestyle.setText(null);
if(f.isDirectory()){
fileName=f.list();
//System.out.println("共有"+fileName.length+"个文件");for(inti=0;imainFr