1、 课程设计报告课程设计报告 (本科)(本科) 课程: 面向对象程序设计 学号: 姓名: 班级: 网络工程 2 班 教师: 时间: 2013.11.20-2013.12.20 1 设计名称: 编写一个记事本程序 设计内容、目的与要求: 1 实验内容 1.1 编写一个简单记事本程序; 1.2 能实现编辑、保存、另存为、查找替换等功能 2 实验要求 2.1 用图形用户界面实现; 2.2 用文件输入输出流编译。 2.3 实现文件和编辑菜单里的功能; 3 实验目的 3.1 能够实现基本的文件录入即新建事件的功能; 3.2 能够实现事件的保存和另存功能以及事件的删除; 3.3 能够实现事件的查找和替换功能
2、,保证程序的可修改性; 3.4 能够实现事件内容的复制,粘贴和拷贝功能; 3.5 最后是关于对改程序的帮助即改程序的介绍。 计划与进度安排: 2013.11.20-2013.11.30 对题目有基本的思路 怎样去编译程序,查阅资料,惊醒初步的准备工作; 2013.12.01-2013.12.10 编译程序并上机调试运行, 看是否能正确运行, 并将有用的实验结果截图保存, 编写文档,将程序每部步实现的功能,用电子文档的形式表达出来,并且用图文 并茂的方式表现出自己的每一步设计思路; 2013.12.10-2013.12.20 将编译好的源程序和电子文档仔细查看,再次运行检查是否有误,然后再将电
3、子文档打印成册,将程序以及电子文档让验收老师验收,如果有误还需再次修改。 设计过程、步骤(可加页) : 2 4 需求分析 4.1 系统概述; 该报告中的程序是使用 Java 程序编写,能够进行输入文字操作,并具有新建文件,打 开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色 进行设置。该程序主要用到了 Java swing 和事件监听等。 4.2 功能需求描述; 本程序要构建的记事本程序参照了 Windows 操作系统的记事本工具,其功能有以下几 个方面: (1).菜单中有“文件” , “编辑” , “关于”三个主菜单。 (2) “文件”有“新建” “打开” “
4、保存” “另存为” “退出”五个子菜单:分别用于新建 文件,打开文件,保存文件,另外保存文件,退出记事本。 (3) “编辑”中有“剪切” “复制” “粘贴” “全选” “查找” “替换”六个字菜单:用于剪 切文字,复制文字,粘贴文字,全部选中。增加了“查找” “替换”子菜单来对文字进行查 找和替换。 (4) “关于”菜单中有关于记事本程序的制作日期,作者等信息。 4.3 总体设计 开发与设计的总体思想: 在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu, JTextPane, JFileChooser 等。 JMenu 用来制作菜单, 菜单包括 “文
5、件”“编辑”“关于” 。 JTextArea 主要用来输入文本。 系统模块结构图 Notebook implem extends ActionListen er JFrame 模块设计 3 Notebook的构造方法 初始化容器组件 添加事件监听 器 菜单栏文字输入栏 文件编辑帮助 复 制 新 建 打 开 保 存 另 存 为 退 出 剪 切 粘 贴 全 选 查 找 替 换 关 于 系统模块流程图 4 复 制 新 建 打 开 保 存 另 存 为 退 出 剪 切 粘 贴 全 选 查 找 替 换 关 于 输入文字 启动程序 File=null Unfold Saving Saving Exit Cu
6、t Help Reples Find Setseletion Past Copy + 5 详细设计 5.1 主界面模块 首先创建一个名为 Notebook 的类并继承 Frame 类实现监听接口作为最底层的容 器(具体过程在“4.3.2 自定义类及接口说明”作说明) 。菜单栏中有“文件”、 “编辑”、“帮助”三项菜单,分别添加的相应的项,各实现其功能。 5.1.1 主界面主要代码 public Notebook() this.setTitle(“记事本“); contianer=this.getContentPane(); 5 contianer.setLayout(new BorderLayout(); jta=new JTextArea(); contianer.add(jta); JMenuBar mb=new JMenuBar(); buildMainMenu(mb); this.setJMenuBar(mb); this.setVisible(true); this.setSize(650, 450); 5.2 文件界面 5.2.1 文件界面包括新建(ne