`
百合不是茶
  • 浏览: 345580 次
社区版块
存档分类
最新评论

图形界面指定地址统计文件个数

阅读更多

  

  这几天在做练习,感觉都没有原来顺手了,不知道为什么    ,本来想写一个找点信心的,但还是觉得写一个文件和界面练习的;

 

技术点:图形界面  swing   awt

JTextArea();设置多行文本     JTextField()设置输入框   JScrollPane()设置滚动条 

 

Graphics g = panel.getGraphics();获取画布

 

File类的应用     isFile();判断是文件     isDirectory();判断是文件目录    getAbsolutePath()文件的路劲

 

监听器:动作监听器  ActionListener

 

在容器中可以使用getText来获取内容



 



 

 

 

//创建文件搜索

package com.iteye.com;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

/**
 * 创建一个文件搜索的类
 * 
 * @author Administrator
 * 
 */
public class FileShowUI extends JFrame {
	//文件路径
	private String name;
	//默认结果是0
	private int result= 0;
	//设置多行文本
	private JTextArea area;


	public static void main(String[] args) {
		FileShowUI Fui = new FileShowUI();
		Fui.showui();

	}

	// 设置绘制窗体的方法
	public void showui() {
		this.setTitle("文件搜索");
		this.setSize(600, 500);
		// //设置居中
		// this.setLocationRelativeTo(null);
		this.setResizable(false);
		// 设置布局为空
		this.setLayout(null);

		// 创建容器,位置,颜色,
		JPanel panel = new JPanel();
		panel.setBounds(0, 0, 600, 500);
		panel.setBackground(Color.LIGHT_GRAY);
		// 设置多行文本
		 area = new JTextArea(24, 48);
		// 添加输入框
		final JTextField field = new JTextField(10);

		// 设置按钮
		JButton search = new JButton("查找");
		JButton start = new JButton("开始搜索");
		JButton end = new JButton("结束搜索");

		// 将组件添加到容器中
		panel.add(area);
		panel.add(field);
		panel.add(search);
		panel.add(start);
		panel.add(end);

		// 将容器添加到窗体中
		this.add(panel);

		// panel的布局位置
		this.add(panel, BorderLayout.NORTH);
		this.add(area, BorderLayout.CENTER);

		// 将多行文本添加到滚动条中
		JScrollPane pane = new JScrollPane(area);
		pane.setPreferredSize(new Dimension(550, 400));
		panel.add(pane);

		// 设置窗体显示
		this.setVisible(true);
		//得到窗体上的画布
		Graphics g = panel.getGraphics();
		
		//添加监听器
		ActionListener lis = new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				//获取输入框中的字符串
				name = field.getText();
				int count =countFile(name);
				if(count == 0){
					area.append("您输入的文件不存在\n");
					System.out.println("您输入的文件不存在");
				}else{
					
					area.append("文件有"+count+"个\n");
				}
				area.append("您所查找的文件总数为"+count+"个");
				System.out.println("您所查找的文件总数为"+count+"个");
				
			}
		};
		//将搜索按钮添加监听器
		start.addActionListener(lis);
		
			
			}
	
	//定义判断文件的方法
	public int countFile(String name){
		//创建file的对象
		 File file  = new File(name);
		 //判断路径是否存在
		  if(!file.exists()){
			  System.out.println("提供的路径不存在!");
		  return 0;
		  }
		  //将的得到的路径存储到数组中
		  File[] fs =file.listFiles();
		  
		  //判断得到的是否是一个文件
		  if(fs==null){
			  System.out.println("提供的路径不是一个标准文件");
			  return 0;
		  }
		  
		  
		  //遍历数组
		  for(int i =0;i<fs.length;i++){
			  //将遍历的数组赋给f
			  File f = fs[i];
			  //取得文件的路径
			  String str = f.getAbsolutePath();
			  //将文件路径添加到多行文本区域中
		      area.append(str+"\n");
		      
		  //判断是不是文件
		  if(f.isFile()){
			  result++;
//			  System.out.println("找到文件"+str);
			  //如果是目录就用递归来做
			  
		  }else if(f.isDirectory()){
			  result +=countFile(str);
		  }
		 }	 	 
		
		return result;		
	}
}
	
	

 

 

 

 

 

 

 

  • 大小: 48.1 KB
  • 大小: 11.7 KB
1
0
分享到:
评论

相关推荐

    源码统计器1.1版(源码+软件)

    "设置"对话框中用户还可以设置日志文件的路径,这个文件我主要是用来记录统计中可能出现的错误。目前能记录cpp文件中字符串换行但没有用\结尾的问题。 3、 增加了将统计结果保存为Excel文件的功能。 4、 增加了...

    Linux基本命令的使用

    12. 统计文件/etc/passwd文件的字节数和行数。 13. 创建普通文件/home/abc1,创建普通文件/home/abc2。 14. 将/etc/passwd的内容追加到文件abc1中,将/etc/group的内容追加到文件abc2中。(利用附加输出重定向命令)。...

    《Java基础》实验题和课程设计补充题.doc

    6-28求n个数的最大公约数和最小公倍数,图形用户界面,题意详见教材实验2。6- 29识别字符串中包含的所有标识符,图形用户界面,题意详见教材实验2。6- 30绘制平面图形并计算周长和面积。 6- 31等腰三角形、正五边形与五...

    基于java的学生考试成绩分析程序.rar

    指定特定的班级和课程后,能够输出该班的所有学生的成绩,通过这个方法可以查询学生的成绩,能够对指定的班级和课程的成绩进行以下3种方法的分析,分数文本分析、分数段分析、图形分析。 对于以上的问题,程序要...

    C语言经典源代码实例 数据结构 操作系统 图形等

    037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件的字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 ...

    第一部分 界面设计

    实例100 如何在文件打开对话框中选择多个文件 实例101 如何定制文件打开和关闭对话框 实例102 如何修改文件打开对话框的按钮标题 实例103 如何使用查找与替换对话框 实例104 如何获取和设置当前目录 实例105 ...

    220个经典C程序源码文件,可以做为你的学习设计参考.zip

    037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件的字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 ...

    java课设选举器

    统计所有选票数量、每个候选人的得票数和得票率,将候选人及其得票数和得票率按得票数降序排序显示,并输出到指定文件中。可增加候选人。 建立二个符合题目的图形用户界面,一个做发,一个做收,然后以socket通信从...

    200个经典C程序源码(包括基础篇+数据结构篇+数值计算与趣味数学篇+图形篇+系统篇+常见试题解答篇).zip

    037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件的字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 ...

    JAVA上百实例源码以及开源项目

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    入门学习Linux常用必会60个命令实例详解doc/txt

    -n:一般而言,mount挂上后会在/etc/mtab中写入一笔资料,在系统中没有可写入文件系统的情况下,可以用这个选项取消这个动作。 4.应用技巧 在Linux 和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分...

    JAVA上百实例源码以及开源项目源代码

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    200个经典C程序【源码】

    037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件的字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 ...

    Java综合性实验 学生考试成绩分析程序

    基本数据说明 班级:程序要求处理若干班级,每个班级包含的属性有:年级、专业、班和若干学生 学生:每个班级包含多名学生,学生的属性有:学号和姓名 ...图形分析:生成考试成绩统计图(柱状图)、(饼图分析)

    《Excel应用大全》示例文件 光盘文件

    • 统计开奖号码中不重复数字个数 • 取得零件规格中的最后序号 • 利用TEXT函数格式化设备编号 • 从身份证号码中提取员工的生日信息 • 使用TEXT 函数显示中文格式的年份 • 将数值转换为商业发票中的中文大写金额...

    C语言学习实例220例

    037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件的字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 ...

    关于C的精粹包含至少200个C语言小程序

    037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件的字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 ...

    200个经典C程序源码小游戏

    037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件的字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 ...

    成绩管理系统的设计

    3、 成绩系统:要求输入任意的一个课程名(如数学)和一个分数段(如60—70),统计出在此分数段的学生情况。 4、 排序:能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式...

    220个C语言程序源代码集合.zip

    037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件的字数统计程序 041 学生成绩管理程序 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序 ...

Global site tag (gtag.js) - Google Analytics