这几天在做练习,感觉都没有原来顺手了,不知道为什么 ,本来想写一个找点信心的,但还是觉得写一个文件和界面练习的;
技术点:图形界面 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; } }
相关推荐
根据提供的文件信息,我们可以归纳出该段代码主要实现了以下几个方面的功能: ### 1. 文件夹遍历 #### 功能概述 这段代码的核心功能是...这对于开发图形用户界面或者简单的文件管理工具来说是非常实用的基础功能。
根据提供的文件信息,我们可以了解到关于Python Tkinter图形界面代码统计工具的详细知识点,接下来将从多个方面对这个工具进行详细说明。 ### Python Tkinter图形界面代码统计工具概述 Tkinter是Python的标准GUI库...
在这个名为“统计键盘输入字符、数字个数.zip”的压缩包文件中,我们主要涉及的是一个北交大的汇编语言编程实验。这个实验的目标是编写一个程序,能够统计用户通过键盘输入的字符和数字的数量。汇编语言是一种低级...
本项目标题提到的"dotnet-统计单个或多个doc、docx、pdf文件中指定关键字出现的次数"是一个很好的实践示例,它结合了Winform界面与iTextSharp库来处理PDF文件,同时利用了ThreadPool进行多线程处理,以提高效率。...
4. **结果展示**:统计完成后,程序将结果以易于理解的方式展示给用户,例如,通过表格或者图形化界面显示每个文件的字数和字符数。 5. **错误处理**:考虑到可能存在无法打开或格式不正确的Word文件,程序应该包含...
总结来说,这个Python程序使用Tkinter创建了一个简单的图形界面,用户可以输入一个文件夹路径和可选的文件类型,程序会统计该路径下指定类型文件的代码行数、空格数和注释数。程序处理了文件编码问题,并提供了基本...
"设置"对话框中用户还可以设置日志文件的路径,这个文件我主要是用来记录统计中可能出现的错误。目前能记录cpp文件中字符串换行但没有用\结尾的问题。 3、 增加了将统计结果保存为Excel文件的功能。 4、 增加了...
本项目旨在利用Python构建一个图形用户界面(GUI),帮助用户轻松地对CSV(逗号分隔值)文件进行特定的医生和药品统计。CSV文件通常用于存储表格数据,如医疗记录,便于数据分析。 首先,我们要引入必要的Python库...
ZRender为ECharts提供了高效的图形绘制能力,包括矢量图形的绘制和操作,如图形的绘制、变换、动画等,确保了ECharts在大数据量下的高性能表现。 **ECharts的主要特性** 1. **丰富的图表类型**:ECharts支持线图、...
5. 用户界面设计:VC++版的源代码统计工具可能包含一个图形用户界面(GUI),以便用户设置参数、查看结果等。这就需要熟悉MFC(Microsoft Foundation Classes)库或者WPF(Windows Presentation Foundation)框架来...
3. **统计文件数量**:遍历获取的文件列表,每次增加计数器。 4. **文件后缀统计**:创建一个字典(`Dictionary, int>`)来存储每个文件后缀及其出现次数。对于每个文件,提取其后缀(可以使用`Path.GetExtension()...
【Java课程设计:统计文件字符含GUI】是一个典型的编程项目,旨在帮助学生深入理解Java语言,特别是GUI(图形用户界面)编程以及文件处理。在这个项目中,学生将学习如何使用Java来读取文本文件,统计其中不同字符的...
批量统计工具通常会有一个简洁的用户界面,用户可以通过界面选择目标文件夹,然后工具会立即扫描并显示结果。可能还会有筛选选项,让用户可以选择只统计特定格式的文件。这样的工具可以极大地提高工作效率,减少人为...
5. **可视化报告**:输出统计结果的方式可能包括命令行界面和图形界面。图形界面可以通过Qt的QWidgets或QML来实现,展示直观的图表,如饼图或条形图,帮助用户快速理解代码分布。 6. **性能优化**:由于需要处理...
4. **用户界面**:为了实现完整的用户界面,可以使用C++的`iostream`库进行命令行交互,或者更高级的图形库如Qt、wxWidgets等创建图形界面。用户界面应包含以下功能: - **字符编码**:用户输入字符,程序输出...
完成以上步骤后,你就可以得到一个具有图形化界面的`ping`工具,用户可以通过界面输入目标IP地址,点击按钮即可执行`ping`操作,查看结果。这样的工具对于网络管理员和开发者来说非常实用,能够快速检查网络连接状况...
首先,我们要理解这个小工具的核心功能:它能够统计文件中的行数,并且允许用户根据特定的文件类型进行选择。这在处理大量数据时非常有用,比如分析日志文件或检查源代码的规模。对于开发者而言,了解文件的行数可以...
对于代码行统计工具而言,使用Qt5.7意味着开发者可以利用其强大的图形界面组件和事件处理机制,为用户提供直观且易于操作的界面。 这个名为"CountCodeLines"的压缩包文件很可能包含了实现代码行统计功能的源代码、...
4. 使用 wc 命令可以统计文件的行数、单词数和字符数。 三、 通配符的使用 通配符是一种特殊的 Shell 命令,用于匹配文件名和目录名。常用的通配符包括 \*、?、[ ] 等。 1. 使用通配符可以显示指定目录下的文件和...
9. **用户交互**:虽然这个程序示例没有包含用户交互部分,但通常在实际应用中,用户需要提供源目录和目标目录的输入,这可以通过命令行参数或者图形用户界面(GUI)实现。 10. **效率优化**:为了提高效率,可以...