文本编辑器的设计与实现
java文本编辑器课程设计
java文本编辑器课程设计
一、课程设计目标
本课程设计的目标是设计和实现一个简单的文本编辑器,具备基本的文本编辑功能,如打开、保存、编辑、复制、粘贴等。通过本课程设计,希望学生能够掌握Java编程语言的基本语法和面向对象编程思想,提高实际编程能力。
二、设计思路
1. 确定功能需求:首先确定文本编辑器需要实现的功能,包括打开文件、保存文件、编辑文本、复制文本、粘贴文本等。
2. 设计界面:根据功能需求,设计一个简单的图形用户界面(GUI),方便用户操作。
3. 实现功能:编写Java代码实现每个功能,包括文件操作、文本编辑等。
4. 调试和测试:对程序进行调试和测试,确保每个功能都能正常工作。
三、实现步骤
1. 导入必要的库:导入Java的IO库、Swing库等,用于文件操作和GUI设计。
2. 创建主窗口:使用Swing库创建一个主窗口,包括菜单栏、工具栏、文本编辑区等。
3. 实现打开文件功能:在菜单栏中添加“打开”菜单项,点击后弹出文件选择对话框,选择要打开的文件。
4. 实现保存文件功能:在菜单栏中添加“保存”菜单项,点击后弹出文件保存对话框,选择要保存的文件路径和名称。
5. 实现编辑文本功能:在工具栏中添加“编辑”按钮,点击后弹出编辑对话框,可以对文本进行剪切、复制、粘贴等操作。
6. 实现复制文本功能:在工具栏中添加“复制”按钮,点击后将选中的文本复制到剪贴板。
7. 实现粘贴文本功能:在工具栏中添加“粘贴”按钮,点击后将剪贴板中的文本粘贴到文本编辑区。
8. 调试和测试:对程序进行调试和测试,确保每个功能都能正常工作。
文本编辑器的设计与实现
• 字体颜色: 字体颜色:
QPixmap pix(16, 16); pix.fill(Qt::black); actionTextColor = new QAction(pix, "&字体颜 色.", this); connect(actionTextColor, SIGNAL(triggered()), this, SLOT(textColor())); tb->addAction(actionTextColor); menu->addAction(actionTextColor); tb = new QToolBar(this); tb->setAllowedAreas(Qt::TopToolBarArea |Qt::BottomToolBarArea); tb->setWindowTitle(tr("Format Actions")); addToolBarBreak(Qt::TopToolBarArea); addToolBar(tb);
谢谢! 谢谢!
• 粘贴: 粘贴:
a = actionPaste = new QAction(QIcon(rsrcPath + "/editpaste.png"), "&粘贴", this); • a->setShortcut(QKeySequence::Paste); • tb->addAction(a); • menu->addAction(a); •
Java程序设计实验报告文本编辑器的设计与实现
Java程序设计实验报告
学生姓名:邵强
学号:
课程编号:06021801-0
实验名称:文本编辑器旳设计与实现
实验内容:设计与实现一种文本编辑器,规定具有以便旳图形顾客界面,涉及标题栏、菜单栏,菜单栏有有关旳菜单和菜单项,有快捷键,具有编辑、打开、保存、复制、粘贴等功能(具体功能规定通过运营提供旳字节码文献来拟定,主类是JNotePadUI)。完毕有关类旳设计,并调试运营,给出有代表性旳程序输出成果(程序运营截图)。
程序代码如下:
package note;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.*;
import javax.swing.*;
public class Mynote extends JFrame implements ActionListener{
JMenu menuFile; JMenu menuEdit ; JMenu menuAbout; JPopupMenu popUpMenu;
JTextArea txt=null; //编辑区
JLabel lab=new JLabel("未修改");
VB课程设计-文本编辑器
VB课程设计报告
——文本编辑器
学院名称:
学生姓名:
专业名称:
班级:
一、课程设计题目
用Visual Basic程序设计语言编写一个简易的文本编辑器
要求:有最基本的文本编辑功能,包括复制、剪切、粘贴、字体设置、背景颜色设置、字体颜色设置;同时拥有文本管理功能,包括打开文件、保存文件;以及完整的系统运行退出等功能,所有的操作可选择设定的快捷键。
二、课程设计目的
虽然本学期的Visual Basic课程是自学的,相对于课堂学习有些不足,但通过平时的上机实验,初步掌握了VB程序设计的各种方法,学会了编写最基本的VB程序;对于完整的VB程序设计来讲是很不足的,平时掌握的只是单独的窗体(Form)程序编写,以及各种简单控件的使用,没有做到很好连贯性,所以有必要做一次完整的VB程序设计,结合所学的基本知识,使用多个窗体自成一套系统,加上各种控件的综合运用,初步设计一个合格的VB 应用程序;这样在巩固VB所学的同时,更好地学会程序设计的一些思想和方法,对于以后的编程学习或是工作有重要的实践意义。
三、课程设计说明
题目为文本编辑器,即是最基本的文本编辑程序,首先必须做好文本编辑器本身的功能,然后对其完善,做成一个完整的小程序
功能设计说明:功能是这个文本编辑器的核心内容,也就是程序的作用,它是用来做什么的;本程序就是用来编写文本的,编写过程中要利用到窗体(Form)一个,控件包括:RichTextBox1(超文本框)、CommonDialog(通用对话框),以及InputBox(消息框)、菜单编辑器等,。要做的工作就是编写代码把这些控件和窗体等结合为一体,使得程序能够成为一体,顺畅运行。
文本编辑器的程序设计及代码示例
文本编辑器的程序设计及代码示例在计算机科学领域,文本编辑器是一种用于编辑文本文件的应用程序。它允许用户创建、修改和保存文本文件,并提供了一系列功能来
方便用户进行编辑操作。本文将介绍文本编辑器的程序设计原理,以
及示范几个常见的代码示例。
一、程序设计原理
文本编辑器的程序设计需要考虑以下几个方面:
1. 用户界面设计:一个好的文本编辑器应具备直观友好的用户界面,提供各种操作选项和快捷键,使用户能够轻松地进行文本编辑。
2. 文本处理功能:文本编辑器应具备基本的文本处理功能,如插入
和删除文本、查找和替换、拷贝和粘贴等。这些功能需要通过合适的
数据结构和算法来实现。
3. 文本格式化:文本编辑器应支持对文本进行格式化操作,如自动
对齐、缩进、换行等。
4. 多标签支持:多标签功能允许用户同时打开多个文本文件,并在
它们之间切换。这要求程序设计中能够有效地管理多个文本文件的打开、关闭和切换。
二、代码示例
下面是几个简单的代码示例,用于展示文本编辑器的一些基本功能。
1. 创建文本文件
```python
def create_file(filename):
# 创建一个新的文本文件
file = open(filename, "w")
file.close()
```
2. 打开文本文件
```python
def open_file(filename):
# 打开文本文件并返回文件对象 file = open(filename, "r")
return file
```
3. 插入文本
```python
def insert_text(file, position, text): # 在指定位置插入文本
文本编辑器实现原理
文本编辑器实现原理
文本编辑器的实现原理可以简单概括为以下几步:
1.用户输入文本:用户在编辑器中输入文本,此时文本呈现在编辑器
的屏幕上。
2.文本存储:编译器将用户输入的文本存储在内存或外部存储设备中,以便用户在下次使用编辑器时可以继续编辑。
3.文本修改:当用户对文本进行修改时,编辑器会检测用户的操作
(比如插入、删除、修改等)并相应地更新文本的内容。
4.光标控制:编辑器需要追踪光标的位置并控制其移动,以便用户可
以编辑文本的任何部分。
5.用户界面:用户界面需要显示编辑器的各种工具和选项,比如字体、颜色、格式等。
6.保存和打开:编辑器需要提供保存和打开文本的功能,以便用户可
以在其他时间或设备上打开和编辑他们的文本。
总的来说,文本编辑器实现的原理就是通过对用户输入的文本进行存储、修改和展示等一系列操作,为用户提供方便快捷的文本编辑功能。
第4章文本编辑器的实现
4.6.2 查找替换功能的实现
建立新窗体,窗体文件名称为formFindReLeabharlann Baidulace.cs,作为"查找替 换"对话框。窗体类名也为formFindReplace,为formFindReplace 类增加变量:Form1 MainForm1; 属性StartPosition=CenterParent,MaximizeBox=False, MinimizeBox=False, FormBorderStyle=FixedDialog, Text=“查找和替换” ,对话框界面如图:
4.4.2 修改字体实现方法
放FontDialog控件到窗体,属性Name=fontDialog1。 为菜单增加顶级菜单项:格式,属性Name为 mainMenuModel,为其弹出菜单增加菜单项:字体,属 性Name为menuItemModelFont,为菜单“格式|字体” 菜单项增加单击事件处理函数如下: private void menuItemModelFont_Click( object sender,EventArgs e) { if(fontDialog1.ShowDialog()==DialogResult.OK) richTextBox1.SelectionFont=fontDialog1.Font; }
事件TextChanged:
方法Clear(): 方法Copy()、Cut()、Paste(): 方法SelectAll(): 方法Find():
简易文本编辑器的设计与实现
简单文本编辑器的设计与实现1. 需求说明
用汇编语言设计一个文本编辑器,可以在出现的界面中输入任意文本内容,利用DEL键、BACKSPACE键、HOME键、END键、上下左右光标键对文本进行全屏幕编辑。
按F1键激活菜单File,下移光标,选择New、Open、Save、Exit子菜单项实现文件的新建、打开、保存和退出功能。按F10激活帮助,按Esc键退出帮助。
2. 设计说明
2.1简要分析
这个文本编辑器的设计采用了多个模块,有窗口模块、按键模块、光标模块、功能键模块等,而功能键模块中又是调用了按键模块。为实现文本编辑,通过调用不同的模块达到预期的目的。
2.2概要设计
3. 详细的算法描述
3.1窗口模块
WIN MACRO OPR1,OPR2,OPR3,OPR4,OPR5,OPR6 ;建立窗口 MOV AH,06H
MOV AL,OPR1
MOV BH,OPR2
MOV CH,OPR3
MOV CL,OPR4
MOV DH,OPR5
MOV DL,OPR6
INT 10H
ENDM
3.2光标模块
POS_CURSE MACRO OP1,OP2,OP3 ;置光标位置
MOV AH,02H
MOV BH,OP1
MOV DH,OP2
MOV DL,OP3
INT 10H
ENDM
POS_GET MACRO ;读光标位置
MOV AH,03H
MOV BH,0
INT 10H
ENDM
3.3部分按键模块
HOME: ;Home键的功能
POS_GET
MOV ROW,DH
MOV LINE,0
JMP FIRST
_END: ;End键的功能
POS_GET
文本编辑器的设计与实现
关键技术实现
文本渲染
实现文本的渲染技术,将文本内容以 可视化的方式呈现给用户。
文件读写
实现文件的读写功能,支持多种文件 格式的读写操作。
剪切/复制/粘贴
实现剪切、复制和粘贴功能,支持多 选和撤销/重做操作。
查找/替换
实现查找和替换功能,支持正则表达 式匹配和替换操作。
05
测试与评估
功能测试
功能测试
进点。
03
评估与改进
根据用户反馈和数据分析结果,对文本编辑器进行评估和改进,提高用
户体验和产品质量。
06
结论与展望
结论
本文通过对文本编辑器的研究, 深入探讨了其设计和实现过程, 包括界面设计、功能实现、性能
优化等方面。
通过对不同文本编辑器的比较分 析,本文总结出了文本编辑器设 计的关键要素,如易用性、功能
研究现状
现有的文本编辑器如Noห้องสมุดไป่ตู้epad、Sublime Text、Atom等各 有优缺点,但都存在一些共性问题,如性能瓶颈、功能单一 、用户体验不够友好等。因此,研究如何设计和实现一个更 好的文本编辑器具有重要意义。
目前,文本编辑器的研究主要集中在算法优化、用户体验设 计、扩展性等方面。例如,利用机器学习算法优化文本编辑 器的自动补全和语法高亮功能;通过用户调研和可用性测试 等方法提升用户体验;设计可扩展的插件系统等。
C语言实现文本编辑器
C语言实现文本编辑器
本文将介绍使用C语言实现一个简单的文本编辑器的基本原理和实
现步骤。通过此编辑器,用户可以打开、编辑、保存和关闭文本文件,并且具备基本的文本编辑功能,如插入、删除、查找和替换文本等。
一、编辑器界面设计
为了实现一个简单易用的文本编辑器,我们可以设计一个基于命令
行界面的编辑器。用户可以通过文本命令来操作编辑器,从而实现基
本的编辑功能。
二、文件的打开和保存
在C语言中,我们可以使用标准文件操作函数来实现文件的打开和
保存。用户可以通过指定文件路径来打开或保存文件。打开文件时,
程序会读取文件内容,并将其显示在编辑器界面中;保存文件时,程
序会将编辑器内的文本内容写入目标文件中。
三、基本文本编辑功能
1. 插入文本
用户可以使用插入命令将文本内容插入到当前光标位置之前或之后。程序会根据插入位置的不同,调整光标的位置,并显示插入后的文本
内容。
2. 删除文本
用户可以使用删除命令删除当前光标位置处的文本内容。程序会删除光标所在位置的字符,并相应地调整文本的显示和光标的位置。
3. 搜索文本
用户可以使用搜索命令来查找特定的文本内容。程序会从当前光标位置开始搜索,并根据搜索结果将光标移动到匹配文本的位置。
4. 替换文本
用户可以使用替换命令将指定的文本内容替换为新的内容。程序会搜索文本中的所有匹配项,并将其替换为新的内容。
四、其他功能扩展
除了基本的文本编辑功能外,我们还可以对编辑器进行功能扩展,以提升用户体验和编辑效率。一些可能的扩展功能包括:
1. 撤销和重做功能:允许用户撤销和重做操作,以便回退或恢复文本编辑的历史记录。
程序设计-文本编辑器的设计与实现汇总
程序设计-⽂本编辑器的设计与实现汇总
。
程序设计报告
(2014/2015学年第⼀学期)
\
题⽬:⽂档编辑器的设计与实现
专业
组长学号姓名
$
组员学号姓名
指导教师
指导单位
⽇期
"
⽂档编辑器的设计与实现
⼀课题内容与要求
⽂档编辑器系统是对⼀个⽂本内容进⾏各种常规操作,例如:插⼊、删除、查找、替换等功能。通过此课题,熟练掌握⽂本⽂件的操作及⽤字符数组来实现字符串操作的功能。
基本要求:
(1)⾸先⽂件标准化处理:如果句⼦有前导空格和后导空格,则删除这些空格,单词与单词之间只保留⼀个空格。
(2)统计功能:可⽅便地统计出⽂档中所有出现次数最多和最少的字符串。
(3)查找与替换功能:能够查找任意⼀个字符串在⽂档中出现的次数,并可以选择全部或有选择地将其替换为另⼀个字符串。
(4)显⽰功能:编辑完成后可以显⽰编辑后的⽂档。
[
(5)抽取功能:根据要求将⽂件中的某⼀类字符抽取,并存⼊另外的⽂件,如抽取所有的数字、抽取所有的字母等。
⼆
—
(
图⼀:⽂档编辑器系统的功能框架图
(1)提供可操作的主菜单:输出个菜单,⽤于显⽰若⼲个可选的功能选项。根据输⼊的选项来运⾏不同的功能,运⾏不同的函数。
(2)进⾏⽂本信息的载⼊:选择输⼊⽅式,输⼊⽂本内容,提供可操作⽂本。
(3)统计数据功能:输出第⼆⼦菜单,⽤于显⽰若⼲个可选的功能选项。
根据输⼊的选项来运⾏不同的功能,运⾏不同的函数。
(4)编辑数据功能:输出个菜单,⽤于显⽰若⼲个可选的功能选项。根据
输⼊的选项来运⾏查找、删除、插⼊、显⽰当前⽂本等不同的功能,运⾏不
同的函数。
(5)退出程序:退出当前程序。
实现一个简单的文本编辑器
实现一个简单的文本编辑器
随着数字时代的来临,我们的生活方式也越来越数字化。越来
越多的人开始将工作和娱乐转移到电脑上,而文本编辑器成为了
他们生产力的关键之一。虽然市场上已经有很多成熟的文本编辑器,但如果你想自己动手实现一个简单的文本编辑器,这也是很
有意义的。
第一步,了解文本编辑器的基本功能。文本编辑器主要用于文
本的编写、修改、保存等。编辑器的基本功能包括文件打开和新建、文本写入和修改、保存和另存为以及撤销、恢复等。
第二步,选择编程语言和工具。要实现一个文本编辑器,需要
选择合适的编程语言。如果你想实现一个基于图形用户界面的编
辑器,可以选择Java、C#等高级语言;如果想实现一个控制台下
的编辑器,可以选择C/C++等语言。在选择编程语言的同时,也
需要选择合适的编程工具,如Eclipse、NetBeans、Visual Studio等。
第三步,实现编辑器的基本功能。实现文本编辑器的基本功能
可以让我们更好地理解编程的思路和技巧。在实现编辑器时,首
先需要实现文件打开和新建功能,可以使用系统的文件选择框或
编写自己的文件选择框;其次,需要实现文本写入和修改功能,
可以使用文本框或命令行等方式读入、显示和编辑文本;还需要
实现保存和另存为功能,可以使用文件输入输出流将文本内容保
存到磁盘上;最后,可以实现撤销、恢复等功能,使编辑器更加
完善。
第四步,优化编辑器的性能和功能。在基本功能实现后,可以
通过增加功能模块和优化代码来优化编辑器的性能和功能。例如,可以增加搜索和替换功能、增加编码和格式化功能、增加批量修
文本编辑器的设计与实现
软件学院
课程设计报告书
课程名称
设计题目文本编辑器的设计与实现
专业班级 XXXXXXXXXXX 学号 xxxxxxxxxx 姓名 xxx 指导教师
2011 年11月
1 设计时间
2011年11月
2 设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行Java的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习Java程序语言,因此我们利用Java程序设计虚拟机和软件对用户及使用者的应用过程形成一整套完整的编写代码,编译,运行。
3设计任务
文本编辑器的设计与实现:设计一个类似于Windows记事本(Notepad)的Java程序。可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。
4 设计内容
4.1需求分析
需求分析的任务是确定功能必须完成的工作,也就是对目标系统提出完整、准确、清晰、具体的要求。简单文本编辑器提供给用户基本的纯文本编辑功能,能够将用户录入的文本存储到本地磁盘中。能够读取磁盘中现有的纯文本文件,以及方便用户进行需要的编辑功能。文件操作能够实现新建、保存、打开文档等,编辑操作能过实现文本的剪贴、复制、粘贴等,格式操作能过实现字体设置、背景等,帮助操作能够实现关于主题的查看等功能。
汇编语言实现文本编辑器
汇编语言实现文本编辑器
1.插入文本:用户可以在光标位置插入文本或者在指定位置插入文本。通过汇编语言的内存操作指令,我们可以将后续的文本向后移动,腾出空
间来插入新的文本。
2.删除文本:用户可以删除光标位置或者指定位置的文本。通过汇编
语言的内存操作指令,我们可以将后续的文本向前移动,填补被删除文本
的空白。
3.替换文本:用户可以替换当前光标位置或者指定位置的文本。通过
汇编语言的内存操作指令,将待替换的文本覆盖到目标位置上即可。
4.查找文本:用户可以输入关键字,查找文本中包含该关键字的所有
位置。通过汇编语言的循环和比较指令,我们可以逐个字符地遍历文本,
进行关键字的匹配。
除了上述基本功能外,我们还可以添加其他高级功能:
1.定位行:用户可以根据行号直接跳转到指定行。通过计算行号与内
存地址的偏移,可以在汇编语言中实现该功能。
2.撤销和重做:用户可以撤销或者重做上一次的操作。通过记录每次
操作的历史,可以在撤销和重做的时候重新应用或者回滚操作。
3.自动缩进:对于一些编程语言,我们可以根据语法规则自动缩进代码。通过解析文本中的关键字和符号,可以实现自动缩进功能。
java文本编辑器的设计与实现 2
摘要
当今,计算机以及网络技术的飞速发展,社会正快速向信息化社会前进,我们需要更智能,更专业的软件帮助我们完成工作,从而提高了工作效率。
目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行Java的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习Java程序语言,因此我们利用Java程序设计虚拟机和软件对用户及使用者的应用过程形成一整套完整的编写代码,编译,运行。
本文本编辑器的开发主要包括界面窗口的菜单栏和工具栏以及树结构,还有链接Java虚拟机实现编译与运行。使用SUN公司的Java中的GUI作为开发技术,利用其提供的各种类与接口,首先建立系统应用原型。
本文本编辑器的开发采用JDK6.0和 UltraEdit为开发工具,操作系统为Windows98/Windows 2000/Windows XP等。
关键词:面向对象程序设计,GUI,文本编辑器,编译,运行
Abstract
Now, computer and internet are experience a sharp development, the information automatic function is more and more powerful, and our society is stepping in the information age. So, more Intelligence and more specialized soft are needed to help us improve the efficiency in job.
Java程序设计实验报告文本编辑器的设计与实现
Java程序设计实验报告文本编辑器的设计与实现
Java程序设计实验报告
学生姓名:邵强
学号:
课程编号:06021801-0
实验名称:文本编辑器的设计与实现
实验内容:设计与实现一个文本编辑器,要求具有方便的图形用户界面,包括标题栏、菜单栏,菜单栏有相关的菜单和菜单项,有快捷键,具有编辑、打开、保存、复制、粘贴等功能(详细功能要求经过运行提供的字节码文件来确定,主类是JNotePadUI)。完成有关类的设计,并调试运行,给出有代表性的程序输出结果(程序运行截图)。
程序代码如下:
package note;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.*;
import javax.swing.*;
public class Mynote extends JFrame implements ActionListener{ JMenu menuFile; JMenu menuEdit ; JMenu menuAbout; JPopupMenu popUpMenu;
JTextArea txt=null; //编辑区
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件学院
课程设计报告书
课程名称
设计题目文本编辑器的设计与实现
专业班级__________ XXXXXXXXXXX _________________ 学号_______________ xxxxxxxxxx ________________ 姓名xxx
指导教师
2011年11月
1设计时间
2011年11月
2设计目的
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言
进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。目前文本编辑器种类很多,所提供的功能也很多,但是能满足用户实现多种功能和进行Java的编译与运行很少,不能更好的适应当前用户的要求。本设计所完成的文本编辑器功能是针对学习Java 程序语言,因此我们利用Java程序设计虚拟机和软件对用户及使用者的应用过程形成一整套完整的编写代码,编译,运行。
3设计任务
文本编辑器的设计与实现:设计一个类似于Windows记事本(NotepaQ的Java程序。可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。
4设计内容
4.1需求分析
需求分析的任务是确定功能必须完成的工作,也就是对目标系统提出完整、准确、清晰、具体的要求。简单文本编辑器提供给用户基本的纯文本编辑功能,能够将用户录入的文本存储到本地磁盘中。能够读取磁盘中现有的纯文本文件,以及方便用户进行需要的编辑功能。文件操作能够实现新建、保存、打开文档等,编辑操作能过实现文本的剪贴、复制、粘贴等,格式操作能过实现字体设置、背景等,帮助操作能够实现关于主题的查看等功能。
4.2概要设计
4.2.1程序基本功能概括
图421 功能架构图4.2.2程序主要组件概括
1.基本的Frame框架;
2.菜单;
3.打开文件对话框;
4.保存文件对话框;
5.颜色对话框;
6.Choice下拉列表,运来实现字体设置;
7.简单的帮助框架。
4.3详细设计
4.3.1文件打开与保存
文本编辑器的保存和打开功能的实现用文件对话框及输入输出流来完成。
先建立打开和保存对话框,在public void actionPeformed(ActionEvent e)里分别
用FileWriter()和FileReader(方法实现保存和打开。
filedialog_save=newFileDialog(this,"保存文件对话框”,FileDialog.SAVE);
filedialog_save.setVisible(false);
filedialog」o ad=new FileDialog(this,"保存文件对话框”,FileDialog LOAD);
f iledialog」o ad.setVisible(false);
filedialog_save.addWi ndowListe ner(n eWWi ndowAdapter()
{
public void windowClosing(WindowEvent e)
{
filedialog_save.setVisible(false);
}
});
filedialog」o ad.addWi ndowListe ner(n ewWi ndowAdapter()
{
public void windowClosing(WindowEvent e)
{
filedialog」o ad.setVisible(false);
}
});
public void acti on Performed(Act ion Eve nte)
{
if(e.getSource()==itemSave)
{
filedialog_save.setVisible(true);
if(filedialog_save.getFile()!=null)
{
try {File file=new
File(filedialog_save.getDirectory(),
filedialog_save.getFile()); tofile=new FileWriter(file);
out=new BufferedWriter(tofile);
out.write(area.getText(),0,(area.getText())」en gth());
out.close();
tofile.close();
catch(IOException e1){} elseif(e.getSource()==itemLoad)
filedialog」o ad.setVisible(true);
area.setText (n ull);
String s;
if(filedialog」oad.getFile()!=null) try{File file=new
File(filedialog_load.getDirectory(), filedialog」o
ad.getFile());
file_reader =n ewFileReader(file);
in=new BufferedReader(file_reader);
while((s=i n.readLi ne())!=null) area.appe nd(s+'\n');
in .close();
file_reader.close();
}
catch(IOExceptione1) {}
432字体,字形,字体大小的设置
文本编辑器要实现对字体的设置,选用了GraphicsE nviro nment对象调用
Stri ng [] getAvailableFo ntFamilyNames(方法,该方法可以获取计算机上所有