package filetools;
import javax.swing.*;
import java.awt.*;
import java.io.File;
import java.util.ArrayList;
public class TFlieSystem {
static String rootpath ="c:\\";
FileOPListener fol=new FileOPListener();
public void showUI(){
JFrame jf=new JFrame();
jf.setTitle("文件系统");
jf.setSize(600,800);
jf.setLocation(200,200);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
File file=new File(rootpath);
File[]files=file.listFiles();
int column = 4;
int row = (files.length/column) + 1;
GridLayout gl=new GridLayout(row,column,10,10);
jf.setLayout(gl);
ArrayList<String> dirNameList = new ArrayList<>();
ArrayList<String> fileNameList= new ArrayList<>();
for (int i=0;i<files.length;i++){
File f=files[i];
if (!f.isHidden()) {
if (f.isDirectory()) {
dirNameList.add(f.getName());
} else {
fileNameList.add(f.getName());
}
}
}
for(int i=0;i < dirNameList.size();i++){
JButton btn=new JButton(dirNameList.get(i));
btn.setBackground(Color.WHITE);
btn.addActionListener(fol);
btn.setActionCommand(rootpath+"\\"+dirNameList.get(i));
jf.add(btn);
}
for(int i = 0; i < fileNameList.size();i++){
JLabel jla=new JLabel(fileNameList.get(i));
jla.setBackground(Color.CYAN);
jla.setOpaque(true);
jf.add(jla);
}
jf.setVisible(true);
}
public static void main(String[]args){
TFlieSystem tFileSystem =new TFlieSystem();
tFileSystem.showUI();
}
}
package filetools;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.io.File;
import java.util.ArrayList;
public class FileOPListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
String dirName = e.getActionCommand();
System.out.println("dirName:"+ dirName);
File file=new File(dirName);
showFileDir(file);
}
public void showFileDir(File dirFile){
JFrame jf=new JFrame();
jf.setTitle(" "+dirFile.getName());
jf.setSize(800,600);
jf.setLocation(200,200);
jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
File[]files=dirFile.listFiles();
int column = 4;
int row =(files.length/column)+1;
GridLayout gl= new GridLayout(row,column,10,10);
jf.setLayout(gl);
ArrayList<String> dirNameList = new ArrayList<>();
ArrayList<String> fileNameList= new ArrayList<>();
for (int i = 0; i < files.length; i++) {
File f=files[i];
if(!f.isHidden()){
if (f.isDirectory()){
dirNameList.add(f.getName());
}else {
fileNameList.add(f.getName());
}
}
}
for (int i = 0; i < dirNameList.size(); i++) {
JButton btn=new JButton(dirNameList.get(i));
btn.setBackground(Color.white);
btn.setActionCommand(dirFile.getAbsolutePath()+"\\"+dirNameList.get(i));
jf.add(btn);
btn.addActionListener(this);
}
for (int i = 0; i < fileNameList.size(); i++) {
JLabel jla=new JLabel(fileNameList.get(i));
jla.setBackground(Color.CYAN);
jla.setOpaque(true);
jf.add(jla);
}
jf.setVisible(true);
}
}