⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filebrowser.java

📁 里面写的是 一些J2SE 的日历和 计算机的代码 还有时间钟表的代码 供初学者参考
💻 JAVA
字号:
import java.awt.*;
import java.io.*;
import java.awt.event.*;


public class FileBrowser extends Frame implements ActionListener,ItemListener{
	
	static TextField tf=new TextField(20);
	static List l=new List(500);
	static Choice c=new Choice();
	
	static Label  path=new Label("路径:");
	static Label  count=new Label("统计数量",Label.CENTER);
	
	static Label  isfield  =new Label("是否为文件:");
	static Label  ishidden =new Label("是否为隐藏文件:");
	static Label  lastmodified  =new Label("最后修改时间:");
	static Label  length  =new Label("文件大小:");
	static Label  labelisfield =new Label("");
	static Label  labelishidden =new Label("");
	static Label  labellastmodified =new Label("");
	static Label  labellength =new Label("");
	
	Button b=new Button("显示全部结果");
	Button b1=new Button("后退");
	
	Panel p1=new Panel();
	Panel p2=new Panel(new GridLayout(2,1));
	Panel p3=new Panel(new BorderLayout());
	Panel p4=new Panel(new GridLayout(4,2));
	Panel p5=new Panel(new GridLayout(1,2));
	static String filename;
	static int  a=0;
	
	static Frame f=new Frame("查询结果");
	
	public FileBrowser(String title){
		super(title);
	    
	    p1.add(path);  p1.add(tf);
	    p2.add(count); p2.add(p5);
	    p5.add(b);     p5.add(b1);
	    p3.add(c,BorderLayout.NORTH);
	    p3.add(p4,BorderLayout.CENTER);
	    p4.add(isfield); p4.add(labelisfield); p4.add(ishidden); p4.add(labelishidden);
	    p4.add(lastmodified); p4.add(labellastmodified); p4.add(length); p4.add(labellength);
		p1.setBackground(new Color(200,200,200));
		p2.setBackground(new Color(200,200,200));
		p4.setBackground(new Color(200,200,200));
		add(p1,BorderLayout.NORTH);
		add(p3,BorderLayout.CENTER);
		add(p2,BorderLayout.SOUTH);
		
		tf.addTextListener(new TextHandler());
		c.addItemListener(this);
		b.addActionListener(this);
		b1.addActionListener(this);
		l.addItemListener(this);
		
		addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				FileBrowser.this.dispose();
			}
		});
		
		f.add(l);
		f.setSize(250,300);
		f.setVisible(false);
		f.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				FileBrowser.f.dispose();
			}
		});
	}
	

	
	public static void RestoreData(){
		labelisfield.setText("");
		labelishidden.setText("");
		labellastmodified.setText("");
		labellength.setText("");
		c.removeAll();
		l.removeAll();
	}
	
	public void actionPerformed(ActionEvent e){
	   String s=e.getActionCommand();
	   if(s.equals("显示全部结果")){
	   	   if(a==0){
	   	   	  a=1;
	   	   	  f.setVisible(true);
	   	   }
	   	   else{
	   	   	  a=0;
	   	   	  f.setVisible(false);
	   	   }
	   }
	   if(s.equals("后退")){
	   
	   	   if(tf.getText().equals(""))  count.setText("路径为空!");
	   	   else if(!FindFile.f.getName().equals("")){
	   	   	  filename=tf.getText().substring(0,tf.getText().lastIndexOf("/"));
	   	   	  tf.setText(filename);
	   	   	  RestoreData();
	   	   	  FindFile.setFile(filename);
    	     
    	      if(FindFile.f.isDirectory()==false&&FindFile.f.isFile()==false){
    	        	count.setText("路径无效!请使用反斜杠!");
    	      }
    	      else{
    	    	  if(FindFile.f.isFile())  FindFile.ifFile(FindFile.f);
    	          else  FindFile.ifDirectory(FindFile.f);
    	      }
	   	   } 
	   }
	}
	
	public void itemStateChanged(ItemEvent e){
		 if(e.getSource()==c){
		 	  
		 	  filename=c.getSelectedItem();
		      tf.setText(c.getSelectedItem());
		      RestoreData();
		      FindFile.setFile(filename);
    	      if(FindFile.f.isDirectory()==false&&FindFile.f.isFile()==false){
    	           count.setText("路径无效!请使用反斜杠!");
    	      }
    	      else{
    	           if(FindFile.f.isFile()) 	 FindFile.ifFile(FindFile.f);
    	           else      FindFile.ifDirectory(FindFile.f);
    	      }
		 }
		 if(e.getSource()==l){
		 	  filename=l.getSelectedItem();
		      tf.setText(l.getSelectedItem());
		      RestoreData();
		      FindFile.setFile(filename);
    	      if(FindFile.f.isDirectory()==false&&FindFile.f.isFile()==false){
    	           count.setText("路径无效!请使用反斜杠!");
    	      }
    	      else{
    	           if(FindFile.f.isFile()) 	 FindFile.ifFile(FindFile.f);
    	           else      FindFile.ifDirectory(FindFile.f);
    	      }
		 }
	}
	
    public static void main(String[] args){
      FileBrowser fb1=new FileBrowser("文件浏览器");	
      
      FindFile ob=new FindFile();
	  
	  fb1.setSize(250,300);
	  fb1.setVisible(true);
	  fb1.setResizable(false);
	  
	  
	  
    }	
	
	class TextHandler implements TextListener{
        public void textValueChanged(TextEvent e){
    	    filename=tf.getText();
    	    RestoreData();
    	    FindFile.setFile(filename);
    	    
    	    if(FindFile.f.isDirectory()==false&&FindFile.f.isFile()==false){
    	    	count.setText("路径无效!请使用反斜杠!");
    	    }
    	    else{
    	    	if(FindFile.f.isFile())  FindFile.ifFile(FindFile.f);
    	        else  FindFile.ifDirectory(FindFile.f);
    	    }
        }
    }
}

class FindFile{
	
	static File f;
	static String fname;
	
	public static void setFile(String s){
		f=new File(s);
		fname=s;
	}
	
	public static void ifFile(File f){
	      FileBrowser.c.add(f.getName());
		  FileBrowser.labelisfield.setText("是");
		  FileBrowser.l.add(fname);
		  if(f.isHidden())  FileBrowser.labelishidden.setText("是");
		  else   FileBrowser.labelishidden.setText("否");
		  FileBrowser.labellastmodified.setText(String.valueOf(f.lastModified()));
		  FileBrowser.labellength.setText(String.valueOf(f.length())+"bytes");
		  FileBrowser.count.setText("共1个");
	}
	
	public static void ifDirectory(File f){
		
		File[] fs=f.listFiles();
        for(int i=0;i<fs.length;i++){
        	FileBrowser.l.add(fname+"/"+fs[i].getName());
            FileBrowser.c.add(fname+"/"+fs[i].getName());
        	FileBrowser.labelisfield.setText("否");
            FileBrowser.labelishidden.setText("否");
	    }
	    FileBrowser.count.setText("共"+String.valueOf(fs.length)+"个");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -