个人项目(WC.exe)(java)(基于图形界面)

一、Github项目地址:https://github.com/Leungdc/ENhomework

二、PSP:


PSP2.1


Personal Software Process Stages


预估耗时(分钟)


实际耗时(分钟)


·Planning


·计划


40


60


· Estimate


· 估计这个任务需要多少时间


30


30


·Development


·开发


1500

1860

· Analysis


· 需求分析


30


70


· Design Spec


· 生成设计文档


30


30


· Design Review


· 设计复审


20


15


· Coding Standard


· 代码规范


60


40


· Design


· 具体设计


20


30


· Coding


· 具体编码


1440


1800


· Code Review


· 代码复审


30


120


· Test


· 测试(自我测试,修改代码,提交修改)


20


80


·Reporting


·报告


60


60


· Test Report


· 测试报告


60


40


· Size Measurement


· 计算工作量


20


20


· Postmortem & Process Improvement Plan


· 事后总结, 并提出过程改进计划


30


30


合计


1700


2000

三、解题思路

架构:基于图形界面的wc.exe程序实现。

主窗体(WC.exe):运行程序  →  弹出窗体  →  用户在窗体内的文本域进行指令的输入  →  点击开始按钮  →  程序执行

副窗体(可用文件):在主窗体中的文本域输入“-x”  →  打开副窗体  →  用户点击按钮扫描系统中所有的.c文件  →  选中文件  →  点击开始按钮  →  程序执行

具体窗体图

        

问题一:这是一个什么窗体?

答:JFrame。

问题二:下方的文本域用的是什么组件?

答:JTextArea。

问题三:为什么不用JTextFiled而用JTextArea

答:JTextField中的文本域只有一行。

问题四:如何给JTextArea添加滚动条?

答:把JTextArea添加到JScrollPane中,当文本域中的文本宽或高超出文本域时,会自动显现上下滚动条或左右滚动条。

问题五:怎么接受到用户的输入,并将输出显示在文本域中呢?

答:JTextArea中的.getText方法和.setText方法可以分别得到和设置文本域中的内容,返回类型为String

四、设计过程实现

                 //由于在具体的实现中副窗体中的代码大多是主窗体代码的复用,所以下面只讨论主窗体的代码组织

在WCview类中有一个主类以及十三个方法,按照功能可以分为基本方法和指令方法,按照其使用的独立性可以分为独立方法和非独立方法。

非独立方法:WCview();initialize();Readfile();方法,其中,

WCview方法调用initialize方法,对设计的窗体进行初始化操作,如设置窗体的大小,窗体中按钮的事件监听器等;

而Readfile()方法则是对“开始”按钮的事件反应,当用户点击“开始”按钮时,就会自动调用Readfile()方法;该方法内容包括如下几点:

  1、textArea.getArea获取文本域中的指令。

  2、对于非法的指令,在文本域中设置报错信息(textArea.setTextArea)反映给用户。

  3、对于合法的指令,读取文本域中用户输入的文件路径,File f  =  new file(路径);创建文件对象,并使用switch方法对指令进行判断,如“-c”;,

独立方法:如wActionPerformed();refresh()方法等,根据程序的需要,设计了独立的代码,供其他类或方法使用。

按照功能分为的基本方法和指令方法

基本方法:1.readtoString方法;根据所所选文件的编码方式,返回字符串数据

2.print方法,递归查找全盘,或者所选根目录下符合要求的.c文件

3.getdirectory方法,递归查找全盘的.c文件

4.refresh方法,刷新一些重要的全局变量

指令方法:1.-cActionPerformed():  -c指令的实现①正则表达式匹配String内容。②对匹配内容计数,.setText方法输出到文本域中。

2.-wActionPerformed():  -w指令的实现①正则表达式匹配String内容。②对匹配内容计数,.setText方法输出到文本域中。

3.-aActionPerformed():  -a指令的实现①正则表达式匹配String内容。②对匹配内容计数,.setText方法输出到文本域中。

4.-lActionPerformed():  -l指令的实现①.setText输出文件内容到文本域。②.getlineCount对行数计数,.setText方法输出行数。

5.-sActionPerformed();

-s(+路径):递归处理全盘或者所加路径下所有的.c文件。

-s-c/w/l/a:    ①用print方法读取目录下的所有.c文件  ②用Readfile读取文件内容  ③ 按需求用.setText方法输出到文本域中。

6.-xActionPerformed();

①自动打开-x操作的窗体

②用户点击“扫描”按钮后扫描全盘下的.c文件,并输出到textArea

③用户选择要操作的目录,点击“开始”按钮输出相关信息。

             

原文地址:https://www.cnblogs.com/dcLeung/p/11588412.html

时间: 2024-08-17 09:57:32

个人项目(WC.exe)(java)(基于图形界面)的相关文章

个人项目Wc.exe(JAVA)

1.个人项目WC.exe的github地址:https://github.com/jezing/WC-in-software 2.PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 35 50 · Estimate · 估计这个任务需要多少时间 35 50 Development 开发 900 1300 · Analysis · 需求分析  30 60 · Design Spec · 生成设计文档

Java swing五子棋源码及实现之Java 开发图形界面程序五子棋的实现方式

今天给大家介绍一下如何用Java swing实现五子棋的开发即用Java开发图形界面程序五子棋,代码由于太多,只贴部分,最下面会附上下载地址,废话不多说,下面我们先看一下运行结果: 接下来我们看代码: 首先是创建主frame框架界面: package org.liky.game.frame; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Toolkit; import

JAVA与图形界面开发(Applet应用程序、AWT库、Swing)

Applet 1)简单说,Applet就是嵌入到网页中的小程序,Java代码. 2)编写Applet程序,要继承JApplet类,并根据自己需要覆写相关方法(init.start.stop.destroy<可选>)即可. 3)Applet生命周期: 初始化阶段:init方法(自动被调用,完成图形组件的初始化和版面分配) 执行阶段:start方法(当Applet当前窗口被激活时,执行相应代码) 终止阶段:stop方法(关闭Applet程序时) 释放资源:destroy方法 4)向Applet里添

Java GUI图形界面开发工具

Applet 应用程序     一种可以在 Web 浏览器中执行的小程序,扩展了浏览器中的网页功能. 缺: 1.需要下载 Applet 及其相关文件 2.Applet 的功能是受限制的 优: 3.无需安装 4.平台无关性 5.安全 Applet 的生命周期 编写一个 Applet 程序,需要继承 JApplet 类,这个类提供了 Applet 程序的基本行为方式,只需要覆写其中的方法就可以完成我们自己的 Applet 程序. 生命周期 1.初始化阶段:init 方法 在 Applet 执行之初,

个人项目WC(java实现)

WC个人项目(JAVA实现) 一.Github地址:https://github.com/Gvonte/WC.exe 二.PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 28 · Estimate · 估计这个任务需要多少时间 30 28 Development 开发 1012 1001 · Analysis · 需求分析  52 45 · Design Spec · 生成设计文档 30

Java 【图形界面设计】

图形界面设计总体可分为三大部分:组件.事件.布局 1.组件 原文地址:https://www.cnblogs.com/versionk/p/10713867.html

java基础图形界面和IO系统

1,java界面系统 事件的驱动编程:事件源,生成一个事件并触发他的组件称为事件源. 事件监听器.注册和事件处理:事件监听分类:分为GUI程序本身实现监听.使用成员内部内监听.匿名内部内监听:使用最多的还是匿名内部内实现监听: 事件适配器:使用适配器可以降低程序员的代码量.模型:把模型和控制器分离有利于多个模型共享一套数据: 2,I/O系统 流的分类:输入流和输出流.节点流和处理流: 文件类:分为字节流.字符流:字节流又分为低级字节流和高级字节流:高级字节流分为3大类(过滤流类.缓冲流.数据流等

Java Swing 图形界面实现验证码(验证码可动态刷新)

import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.Random;import javax.swing.JFrame; public class CheckCode extends JFrame {

java之 ------ 图形界面(三)

import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.TitledBorder; public class UserJFrame extends JFrame implements ActionListener { private int number=1; //编号 private JTextField text_number, text_name; //编号.姓名