- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java第三次作业《文本编辑器》讲述
黎美婵——《Java语言》课程期末作业
PAGE
PAGE 11
《Java语言》课程期末作业
题 目 第6题: 文本编辑器
学 院 计算机学院
专 业 网络工程
班 别 13级(3 )班
学 号
姓 名
2015年06月17日
一、课程题目
制作一个简单的文本编辑器,交互性要求:【最大选题人数:5】
(1) 可输入文字(仅要求英文及标点符号)
(2) 实现一些常用的编辑功能:如复制和粘贴,查找和替换,首字母自动大写,拼写自动更正……
(3) 可打开并显示TXT文件,并且可以将编辑结果保存为TXT文件
二、题目分析与设计
1. 注明所使用的开发环境(Eclipse、NetBeans,JBuilder)。
开发环境:Eclipse
2. 论述题目的需求。给出软件功能架构图。
本题目要求实现类似于一个记事本的文本编辑器功能。要能够输入文字,能够实现一些常用的编辑功能,可打开并显示TXT文件,并且可以将编辑结果保存为TXT文件。本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:
菜单栏中有“文件”,“编辑”,“字体”三个主菜单。
② “文件”菜单有“新建”,“打开”,“保存”三个菜单项:分别用于新建文件,打开文件,保存文件。
③ “编辑”菜单中有 “复制”“剪切”“粘贴”“查找”“替换”五个菜单项:用于实现复制所选文字,剪切所选文字,粘贴文字,查找,替换等功能。
④ “字体”中有“格式”一个菜单项:用来控制文本框中文本的字体类型功能;
软件功能架构图:
设置热键
格式
替换
查找
粘贴
剪切
复制
新建
打开
保存
文件
编辑
字体
菜单项
文本编辑器
3. 论述界面设计过程,指出其设计上的创意及组件的布局策略。
这个框架主要运用盒子布局对象和grid布局对象操作。对于文本编辑器的菜单组件如下。
“文件”菜单里:
“编辑”菜单里 “字体”菜单里
4. 论述程序逻辑的实现,包括类的设计、对象的协作过程等,必要时加以各种图形和表格辅助论述。不得以粘贴代码的方式代替设计部分。
首先,自定义一个editor类,该类继承了JFrame类和ActionListener、ItemListener接口。在主类的主方法中,用editor创建一个对象bianji。
在editor的构造方法中设计好第一个界面的布局和组件。设计一个菜单条组件,添加“文件”、“编辑”、“格式”三个菜单,“文件”菜单下又添加“新建”、“打开”、“保存”菜单项;在“编辑”菜单下又添加“复制”、“粘贴”、“剪切”、“查找”、“替换”菜单项;在“格式”下又添加“字体”菜单项。所有菜单项都添加ActionListener监视器,在editor中重写public void actionPerformed(ActionEvent e)方法。由于添加了ActionListener监视器的菜单项很多,当它们被点击时都会触发系统自动生成ActionEvent对象,event对象会自动调用editor里面的actionPerformed方法,对触发进行反应处理,为了能对不同的菜单项点击有不同的反应,那么要在actionPerformed方法中对事件源进行区分判断,从而不同的事件源有不同的反应,所以在actionPerformed中用e.getSource对事件源进行判断,用if else结构进行不同的事件源不同的处理方法。
自定义newfile()、openfile()、savefile()方法,对应“新建”、“打开”、“保存”三个事件源的处理。
在openfile()中,新建一个文件对话窗口showOpenDialog,建立一个文件字节输入流和缓冲输入流,缓冲输入流按行读取文件内容,然后添加到文本区中。
在savefile()中,新建一个文件对话框showSaveDialog,建立一个文件字节输出流和缓冲输出流,把文本区的字符串写到用户选择的文件中。
在newfile()方法中,先调用savefile()方法,把用户当前正在编辑的文本保存好先。用户保存后再让文本区组件调用setText()方法把文本内容设置为null。从而达到清理文本区的效果。
对应“复制”、“粘贴”、“剪切”菜单项,添加调用文本区的copy()、paste()、cut()方法,把文本区的内容复制到系统粘贴板,把粘贴板
您可能关注的文档
- IPD_术语手册大全讲述.doc
- iphone配置wo邮箱讲述.doc
- IPSECVPN站点到站点配置讲述.docx
- 第1单元-基本概念-化学-浙江省专用综述.pptx
- IBM的发展史讲述.pptx
- ipv62讲述.pptx
- IPMITOOL自动化测试参考手册讲述.docx
- IPv4组播地址分配情况讲述.docx
- IPv6概述讲述.pptx
- 第15章 药物疗法综述.ppt
- 师缘主题课件最新完整版本.pptx
- 基于偏好MOEA_D算法的气发动机多目标优化标定研究.pdf
- 师范技能课件比赛一等奖最新完整版本.pptx
- 师范生初中美术说课课件最新完整版本.pptx
- 师范技能课件图片素材库最新完整版本.pptx
- Unit 2 Making a Difference Understanding ideas The Well that changed the world 教学设计-高中英语外研版(2019)必修第三册.docx
- 师范生技能大赛PPT课件语文最新完整版本.pptx
- 基于扭矩的双燃料发动机控制策略研究.pdf
- 1.2.1 等差数列的概念及其通项公式(教学设计)高二数学(北师大版2019选择性必修第二册).docx
- 师范文化课件最新完整版本.pptx
文档评论(0)