A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


  1. /**
  2. * 设计查询和显示文件的界面
  3. */


  4. package com.heima.filesearch;

  5. import java.awt.*;
  6. import java.awt.event.KeyAdapter;
  7. import java.awt.event.KeyEvent;
  8. import java.awt.event.MouseAdapter;
  9. import java.awt.event.MouseEvent;
  10. import java.awt.event.MouseListener;
  11. import java.awt.event.WindowAdapter;
  12. import java.awt.event.WindowEvent;
  13. import java.io.BufferedWriter;
  14. import java.io.File;
  15. import java.io.FileWriter;
  16. import java.io.IOException;
  17. import java.util.ArrayList;
  18. import java.util.Iterator;
  19. public class SearchInterface extends Frame
  20. {
  21.         //定义窗体控件
  22.         private TextField searchField;                                        //搜索框
  23.         private Button searchBtn;                                                //查找按钮
  24.         private TextArea showArea;                                                //显示搜索内容
  25.        
  26.        
  27.         public SearchInterface()
  28.         {
  29.                 init();
  30.         }
  31.        
  32.         //初始化面板
  33.         public void init()
  34.         {
  35.                 //Frame窗体
  36.                 this.setLayout(new FlowLayout());
  37.                 this.setBounds(500, 300, 800, 600);
  38. //                this.setBackground(Color.CYAN);
  39.                 elementsView();
  40.                 //调用事件监听
  41.                 event();
  42.                 this.setVisible(true);
  43.                
  44.         }
  45.        
  46.         public void elementsView()
  47.         {
  48.                 searchField = new TextField(40);
  49.                 searchBtn = new Button("查找");
  50.                 showArea = new TextArea();
  51.                 //设置搜索内容区域大小
  52.                 showArea.setSize(700, 500);
  53.                 this.add(searchField);
  54.                 this.add(searchBtn);
  55.                 this.add(showArea);
  56.         }
  57.        
  58.         public void event()
  59.         {
  60.                 this.addWindowListener(new WindowAdapter()
  61.                 {
  62.                         public void windowClosing(WindowEvent e)
  63.                         {
  64.                                 System.exit(0);
  65.                         }
  66.                 });
  67.                
  68.                 //点击确定button时获取TextField内容
  69.                 searchBtn.addMouseListener(new MouseAdapter()
  70.                 {
  71.                         public void mouseReleased(MouseEvent e) {
  72.                                 showTextArea();
  73.                         }
  74.                 });
  75.                 searchField.addKeyListener(new KeyAdapter()
  76.                 {
  77.                         public void keyPressed(KeyEvent e)
  78.                         {
  79.                                 if(e.getKeyCode()==KeyEvent.VK_ENTER)
  80.                                 {
  81.                                         showTextArea();
  82.                                 }
  83.                         }
  84.                 });
  85.                
  86.         }
  87.        
  88.        
  89.         public void showTextArea()
  90.         {
  91.                 String str = searchField.getText();
  92.                 showArea.setText("");
  93.                 //用于存储获取的文件名
  94.                 ArrayList<String> al = new ArrayList<String>();
  95.                 FilesSearch fs = new FilesSearch();
  96.                 File f = new File(str);
  97.                 try {
  98.                         fs.files(f,al);
  99.                 } catch (IOException e1) {
  100.                         e1.printStackTrace();
  101.                 }
  102.                 //遍历集合将元素添加到TextArea中
  103.                 Iterator<String> it = al.iterator();
  104.                 while(it.hasNext())
  105.                 {
  106.                         String filename = it.next();
  107.                        
  108.                         showArea.append(filename+"\r\n");
  109.                 }
  110.         }
  111.        
  112.        
  113.         public static void main(String[] args) throws IOException
  114.         {
  115.                 //创建窗体
  116.                 new SearchInterface();
  117.         }
  118. }
复制代码

查询该目录下的所有文件

评分

参与人数 1黑马币 +10 收起 理由
adamdell12580 + 10 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马