java文本编辑器实验报告

合集下载

java记事本实验报告

java记事本实验报告

java记事本实验报告篇一:JAVA记事本实验报告(含源代码运行结果)嘉应学院计算机学院系/班别:指导老师:课程名称:实验内容:学生学号:学生姓名:实验地点:实验类型:实验时间:实验报告计算机学院1203班 Java语言程序设计用Java编写记事本第十四周至第十七周实验要求:能够通过使用JDK1.6安装开发windows 桌面应用程序。

实验目的:熟悉事件触发和事件监听以及组件和容器的界面安排,能够用java设计一个仿windows的标准型记事本。

实验过程描述:一、实验环境:网络实验室二、实验设备:PC机, 网络三、实验平台:winxp. JDK1.6过程描述:1.首先,安装JDK1.62.打开开始-》运行->输入cmd进入dos->cd 路径(原程序的路径)->javac NotepadTest.java(编绎)->java NotepadTest运行四、编写程序:import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ; import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;class MyTransferHandler extends TransferHandler { JTextArea text=null;public MyTransferHandler(JTextArea text){this.text=text;}public boolean canImport(JComponent c, DataFlavor[] flavors)//在拖放操作期间重复调用此方法,判断是否可以输入{for (int i = 0; i if (return true;}}return false;}public boolean importData(JComponent com,Transferable t){try{篇二:记事本的设计与实现Java版实验报告报告编号:第九组JAVA课程设计报告记事本的设计与实现学生姓名:指导教师:所在系:电子信息系所学专业:计算机科学与技术年级:XX年12月目录摘要 ................................................ ................................................... .. (1)第1章前言 ................................................ ................................................... . (2)1.1研究背景................................................. ................................................... . (2)1.2 开发意义................................................. ................................................... (2)1.3 本文的组织结构 ................................................ ................................................... . (2)第2章需求分析 ................................................ ................................................... . (3)2.1系统功能分析 ................................................ ................................................... (3)2.2 设计目标................................................. ................................................... (4)第3章概要设计 ................................................ ................................................... . (5)第4章详细设................................................... ..................... (7)4.1文件模块的详细设计 ................................................ ................................................... (7).............................................. (7).............................................. (8).............................................. (8).............................................. (9)4.2编辑模块的详细设计 ................................................ ................................................... (9).............................................. (9) (10).............................................. . (11).............................................. . (11).............................................. . (12).............................................. . (12).............................................. . (13)4.3格式模块的详细设计 ................................................ ................................................... . (14)第5章系统测试 ................................................ ................................................... (15)5.1 程序主界面.................................................................................................... (15)5.2文件界面................................................. ................................................... .. (15)5.3编辑菜单................................................. ................................................... .. (17)第6章小结 ................................................ ................................................... .. (27)参考文献 ................................................ ................................................... . (27)摘要本组课程设计的课题是“记事本的设计与实现”,设计的记事本系统应具有新建、打开、保存、剪切、复制、粘贴、查找、字体设置等基本功能,满足用户对文件的处理,文本文档的编辑和字体的设置等要求。

java记事本实验报告

java记事本实验报告

java记事本实验报告篇一:JAVA记事本实验报告(含源代码运行结果)嘉应学院计算机学院系/班别:指导老师:课程名称:实验内容:学生学号:学生姓名:实验地点:实验类型:实验时间:实验报告计算机学院1203班 Java语言程序设计用Java编写记事本第十四周至第十七周实验要求:能够通过使用JDK1.6安装开发windows 桌面应用程序。

实验目的:熟悉事件触发和事件监听以及组件和容器的界面安排,能够用java设计一个仿windows的标准型记事本。

实验过程描述:一、实验环境:网络实验室二、实验设备:PC机, 网络三、实验平台:winxp. JDK1.6过程描述:1.首先,安装JDK1.62.打开开始-》运行->输入cmd进入dos->cd 路径(原程序的路径)->javac NotepadTest.java(编绎)->java NotepadTest运行四、编写程序:import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ; import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;class MyTransferHandler extends TransferHandler { JTextArea text=null;public MyTransferHandler(JTextArea text){this.text=text;}public boolean canImport(JComponent c, DataFlavor[] flavors)//在拖放操作期间重复调用此方法,判断是否可以输入{for (int i = 0; i if (return true;}}return false;}public boolean importData(JComponent com,Transferable t){try{篇二:记事本的设计与实现Java版实验报告报告编号:第九组JAVA课程设计报告记事本的设计与实现学生姓名:指导教师:所在系:电子信息系所学专业:计算机科学与技术年级:XX年12月目录摘要 ................................................ ................................................... .. (1)第1章前言 ................................................ ................................................... . (2)1.1研究背景................................................. ................................................... . (2)1.2 开发意义................................................. ................................................... (2)1.3 本文的组织结构 ................................................ ................................................... . (2)第2章需求分析 ................................................ ................................................... . (3)2.1系统功能分析 ................................................ ................................................... (3)2.2 设计目标................................................. ................................................... (4)第3章概要设计 ................................................ ................................................... . (5)第4章详细设................................................... ..................... (7)4.1文件模块的详细设计 ................................................ ................................................... (7).............................................. (7).............................................. (8).............................................. (8).............................................. (9)4.2编辑模块的详细设计 ................................................ ................................................... (9).............................................. (9) (10).............................................. . (11).............................................. . (11).............................................. . (12).............................................. . (12).............................................. . (13)4.3格式模块的详细设计 ................................................ ................................................... . (14)第5章系统测试 ................................................ ................................................... (15)5.1 程序主界面.................................................................................................... (15)5.2文件界面................................................. ................................................... .. (15)5.3编辑菜单................................................. ................................................... .. (17)第6章小结 ................................................ ................................................... .. (27)参考文献 ................................................ ................................................... . (27)摘要本组课程设计的课题是“记事本的设计与实现”,设计的记事本系统应具有新建、打开、保存、剪切、复制、粘贴、查找、字体设置等基本功能,满足用户对文件的处理,文本文档的编辑和字体的设置等要求。

Java课程设计--文本编辑器

Java课程设计--文本编辑器

淮海工学院计算机工程学院课程设计报告设计名称:面向对象课程设计选题名称:文本编辑器的设计与实现姓名:俞凯学号: 2011123094 专业班级:中新软111 系(院):国际学院设计时间:2013.6.17~2013.6.30设计地点:软件实验室、教室zhuti zt=new zhuti();}class zhuti extends Frame implements ActionListener{Button btn;Label lab;zhuti(){setLayout(null);btn=new Button("确定");lab=new Label("这是一个简单的文本编辑器!");add(btn);add(lab);btn.addActionListener(this);setBounds(200,200,250,150);setVisible(true);lab.setBounds(20 ,60,220,30);lab.setFont(new Font("楷体",Font.BOLD,16));lab.setBackground(Color.cyan);btn.setBounds(100,100,50,30);btn.setBackground(Color.cyan);}public void actionPerformed(ActionEvent e){if(e.getSource()==btn){dispose();}}}对于帮助中关于主题部分的实现,我另构建了一个Frame框架,主要是由一个标签及一个按钮构成,由标签输出“这是一个简单的文本编辑器!”,按钮用dispose()方法实现退出功能。

1、调试分析:(1)关于打开和保存我运用了文件对话框, filedialog_save和filedialog_load以及文件输入输出流来实现,新建功能我选用了area.setText(null)方法.(2)对于剪贴,粘贴,复制的实现则用public void removeUpdate(DocumentEvent e)及public void insertUpdate(DocumentEvent e).(3)背景的运用也是调用了颜色对话框,需引用import javax.swing.JcolorChooser包用Color newColor=JColorChooser.showDialog(this,"调色板",area.getBackground())方法;(4)至于字体功能的实现,则是先创建一个下拉列表Choice list,再实现对它的监听list.addItemListener(this), 最后用public void itemStateChanged(ItemEvent e)方法实现,需注意的是这种方法的实现只对javax.swing包中的组件有效,对于java.awt包中的组件,系统则是采取默认的字体名称.2、用户使用说明:软硬件要求:软件方面:Java开发环境硬件方面:JDK软件抑或是Eclipse软件对硬件没有很高的要求。

用记事本编写一个java应用程序实习报告

用记事本编写一个java应用程序实习报告

用记事本编写一个java应用程序实习报告[Paragraph 1]IntroductionAs part of my java programming internship, I was tasked with creating a report on my experience using the Notepad application. In this report, I will discuss the process of writing a Java application using Notepad and share my thoughts on the overall effectiveness of this text editor in facilitating software development.作为我在java编程实习的一部分,我的任务之一是撰写一份关于使用记事本应用程序的实习报告。

在本报告中,我将讨论使用记事本编写Java应用程序的过程,并分享对这个文本编辑器在促进软件开发方面整体有效性的看法。

[Paragraph 2]Setting up the environmentThe first step in writing a Java program using Notepad is to ensure that your computer has the necessary software installed. This includes having the latest version of Java Development Kit (JDK) downloaded and installed on yourmachine. Once that is done, you can proceed to open Notepad and begin coding.在使用记事本编写Java程序之前,第一步是确保你的计算机上安装了必要的软件。

面向对象课程设计报告-文本编辑器

面向对象课程设计报告-文本编辑器

《面向对象程序设计》课程设计报告题目:java文本编辑器院(系):专业班级:学生姓名:学号:指导教师:20 14 年 12 月 29 日至20 15 年 1 月 9 日面向对象程序设计课程设计任务书目录1需求与总体设计 (4)1.1总体功能图 (4)1.2 总体设计思路 (4)(1)文件菜单 (4)(2)编辑菜单 (4)(3)右键菜单 (4)1.3 总体模块图 (5)1.4简要类图 (5)2详细设计 (6)2.1各类的功能及关键代码设计和类图表示 (6)(1)首先创建一个公共的类名为Bjq (6)(2)创建一个空的菜单条并添加两个菜单项(文件、编辑) (7)(3)先设计一个匿名内部类,为文件、编辑菜单添加其它下拉子菜单 (7)(4)右键快捷菜单的字体子菜单的创建 (8)(5)为鼠标创建监听器。

用于用鼠标点击右键时出现快捷菜单:复制、粘贴、字体大小、字体颜色。

(9)(6)为窗体添加监听器 (9)(7)设计main方法:为整个程序的开始提供了入口 (9)2.2程序流程图 (10)2.3 详细类图 (12)3编码实现 (12)3.1程序实现代码 (12)4系统测试 (19)4.1错误处理 (19)4.2主要的测试截图 (19)1. 程序运行界面 (19)2. 编辑菜单及其复制粘贴功能 (20)3. 右键菜单及其功能效果 (21)4. 文件菜单及其功能界面 (23)总结 (26)1需求与总体设计1.1总体功能图图1.01.2 总体设计思路在本程序中,设计了一个菜单栏和文本内容区。

要想记事本完成需求分析中相应的功能,还必须添加事件监听器。

事件监听器不仅要添加在菜单栏和内容输入区,还需加在容器中。

本程序中Act Listener实现了Action Listener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。

另外,还用来Window Listener来监听处理容器关闭触发的事件,Window Listener继承了Windows Adapter类并覆盖了Windows Closing方法。

文本编辑器实验报告

文本编辑器实验报告

综合性实验文本编辑器一.实验要求1.参考系统的写字板功能,编写一个小型的文字编辑工具;2.该文档编辑器,至少完成以下功能:A、文件操作:新建,打开,保存,退出;B、编辑操作:复制,剪切,黏贴,全选;C、查找与替换:查找,替换;D、格式操作:字体,颜色等。

3.界面设计应考虑美观,操作简便等问题,应有工具栏,右键菜单;二.设计思路1、首先,设计一个整体框架。

文本编辑器有一个主的窗体form1,文件的新建,打开,保存,退出;复制,剪切,黏贴,全选;字体,颜色等都是在这个窗体上进行的。

而这些操作的进行,都需要在richtextbox上进行,并且要允许用户打开多个窗口,所以我又增加了一个窗体newform(父窗体为form1),作为用户新建时调用的窗口。

其次,可以增加一个新的窗体searchform,作为查找、替换字符串的操作窗口。

所以,总的来说,有三个窗体,form1为主窗体,newform是用户在新建时调用的窗体,searchform为用户在操作查找、替换功能时需要调用的窗体。

2、接下来,就是对各个窗体的实现了。

Form1是主窗体,上面有菜单栏,工具栏,可以新建窗口,以及支持右键菜单。

3、Newform是用户新建时调用的。

它主要就是一个窗体中放了一个richtextbox,以及支持右键菜单。

4、Searchform是一个查询、替换窗体。

上面有2个label,2个textbox,3个button。

2个textbox的作用为获取要查找的字符串,已经要替换的字符串。

3个button的作用分别为“查询”、“单个替换”、“全部替换”。

5、此文本编辑器支持新建,打开,保存,退出,复制,剪切,黏贴,全选,查找,替换,字体,颜色以及支持右键菜单。

只要把鼠标放到主窗体上,就可支持右键新建、打开;把鼠标放到richtextbox上时,就可以支持右键复制、黏贴、剪切、关闭。

四则运算核心代码:private void打开ToolStripMenuItem1_Click(object sender, EventArgs e)//打开{//OpenFileDialog openfileDialog = new OpenFileDialog();openFileDialog1.Filter = "纯文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";if (this.openFileDialog1.ShowDialog()== DialogResult.OK){s_FileName= openFileDialog1.FileName;NewForm nf = new NewForm();nf.MdiParent = thi s;nf.Text = s_FileName;using (StreamReader read = new StreamReader(s_FileName)){nf.richTextBox1.Text = read.ReadToEnd();}nf.Show();}}public void savefile()//保存文件{//SaveFileDialog saveFileDialog1 = new SaveFileDialog();saveFileDialog1.Filter = "纯文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";saveFileDialog1.FilterIndex = 0;saveFileDialog1.RestoreDirectory = true;NewForm nf = (NewForm)this.ActiveMdiChild;if (nf == null){MessageBox.Show("没有文档可保存!");return;}if (s_FileName.Length != 0){if (File.Exists(@s_FileName)){StreamWriter sw = null;sw = new StreamWriter(s_FileName);sw.Write(nf.richTextBox1.Text);sw.Flush();sw.Close();return;}}if (saveFileDialog1.ShowDialog() == DialogResult.OK){if (s_FileName.Length != 0){nf.richTextBox1.SaveFile(s_FileName, RichTextBoxStreamType.PlainText);}else{s_FileName = saveFileDialog1.FileName;nf.richTextBox1.SaveFile(s_FileName, RichTextBoxStreamType.PlainText);}}}private void保存ToolStripMenuItem_Click(object sender, EventArgs e)//保存{savefile();}private void查找ToolStripMenuItem_Click(object sender, EventArgs e)//查找替换功能{if (searchform == null){searchform = new searchForm();searchform.SearchAction+=new searchForm.SearchEventHandle(OnSearch);}searchform.Show();}private void OnSearch(){NewForm nf=(NewForm)this.ActiveMdiChild;this.SearchString = searchform.SearchString;start = nf.richTextBox1.Find(SearchString,start,RichTextBoxFinds.MatchCase);if (searchform.two == 1){if (start >= 0){nf.richTextBox1.SelectedText = searchform.ReplaceStr;start += searchform.ReplaceStr.Length;}else{MessageBox.Show("已到文档末尾!");start = 0;}}else if (searchform.three == 1){string replaceall=nf.richTextBox1.Text.Replace(searchform.SearchString, searchform.ReplaceStr);nf.richTextBox1.Text = replaceall;start = 0;}else{if (start >= 0) start += thi s.SearchString.Length;else{MessageBox.Show("已到文档末尾!");start = 0;}}}private void全选ToolStripMenuItem_Click(object sender, EventArgs e)//后退{NewForm nf = (NewForm)this.ActiveMdiChild;nf.richTextBox1.Undo();}private void全选ToolStripMenuItem1_Click(object sender, EventArgs e)//全选{NewForm nf = (NewForm)this.ActiveMdiChild;nf.richTextBox1.SelectAll();}三.程序运行效果图1.开始运行的界面:2、新建文档:3、文本编辑:4、文档保存5、查找:6、替换:4实验总结教你如何用WORD文档(2012-06-27 192246)转载▼标签:杂谈1. 问:WORD 里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同?答:分节,每节可以设置不同的页眉。

java案例分析与设计 实验1 文本编辑软件

java案例分析与设计 实验1  文本编辑软件

综合实验一文本编辑软件一、实验目的掌握编写图形界面的方法,包括菜单、布局管理器、滚动条、弹出提示信息对话框、输入对话框、打开文件对话框、保存文件对话框、事件处理,以及文本文件的读写。

二、实验环境PC系列微机,Windows XP。

Eclipse、JDK150或更高版本。

三、实验内容利用8个学时的时间完成编写一个文本编辑软件,要求:1、具有菜单,包括如下菜单:文件:新建、打开、保存、退出编辑:复制、粘贴、查找、替换帮助:关于如图所示:2、刚运行时默认是新建状态,可以直接在文本去输入文字内容,单击保存时,如果还没有保存过则提示输入文件名,如果不是第一次保存,则直接保存到原来的文件名。

3、单击打开菜单时,要用户选择一个文本文件,然后把文件内容读取并显示到文本编辑区(用JTextArea实现),单击保存时,不用再提示输入文件名,直接保存到原来的打开时的文件名,文件名要显示到标题栏(同时文件名应该保存到属性变量中)4、单击保存菜单时,要判断是否是第一次新建或默认运行时的状态,如果是,则提示输入文件名,然后保存到文件中去;否则,直接保存到原来的文件名里即可。

5、单击退出菜单,直接退出系统。

6、单击复制菜单时,将选中的文本复制到粘贴板。

7、单击粘贴菜单时,将粘贴板中的内容复制到光标所在的文本位置。

8、单击查找菜单时,提示输入要查找的内容,并把查找到的内容选中。

9、单击替换菜单时,提示输入要替换成的内容,并进行替换(只替换第一个找到的结果即可,其他的可以多次替换来完成)10、单击关于菜单时,显示一个作者和版权信息即可。

提示,可能用到的类主要有:JFrameBorderLayoutJTextAreaJScrollPaneJMenuBarJMenuJMenuItemJFileChooserJOptionPaneFileReaderFileWriter可能用到的属性变量有:JMenuBar mb=null;//菜单栏JTextArea ta=null;//文本编辑区String fileName="";//当前文件名boolean isNewFile=true;//是否新建文件,true:是新建文件,没有保存过文件名,false:旧文件,或已经保存过String findValue="";//要查找的文字String replaceValue="";//替换成的目标文字四、实验报告写出合格的实验报告,至少包括以下内容1、实验目的2、源程序代码3、将涉及到的类和方法在本软件中的用法进行总结。

JAVA程序设计综合实验报告(文本编辑器)

JAVA程序设计综合实验报告(文本编辑器)
JSplitPane splitpane;
JDesktopPane desk;
FirstWindow(String s){
setTitle(s);
setSize(800,600);
setLocation(120,120);
setVisible(true);
GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
MyInternalFrame internalFrame=(MyInternalFrame)desk.getSelectedFrame();
JTextArea text=internalFrame.getJTextArea();
String str;
op1.setVisible(true);
try{
item1_New.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK ));
item1_Open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK ));
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
//剪切
item2_Cut.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
addInternalFrameListener(new InternalFrameAdapter(){
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java考核
课程名称Java程序设计
题目名称文本编辑器的设计与实现学生学院计算机学院
专业班级计算机17(2)班
学号**********
学生姓名李泽豪
指导教师赵锐
2018 年12 月11 日
一、课程题目
编程实现一个文本编辑器
使其具有新建、打开、保存,编辑(查找、替换、大小写转换等)、统计(字数、行数、字符数等)、格式(字体设置、字体大小、字体颜色、背景颜色等)等功能。

要求:基于JFrame窗体设计、使用菜单进行功能选择。

提示:字体颜色,背景颜色的设置,可使用javax.swing包中的JColorChooser类的静态方法showDialog()调用标准颜色对话框来完成;文件操作可通过javax.swing包中JColorChooser类中的showSaveDialog()、showOpenDialog()方法调用标准的的文件对话框来完成。

二、题目分析与设计
2.1开发环境
使用Eclipse开发软件
2.2需求分析
简单的文本编辑器提供给用户基本纯文本的文字编辑功能,能够读取计算机本地磁盘中的文本内容,将用户文本导入到磁盘中之中,以及实现基本的字体设置(字体,字号,字体颜色)简单的编辑字体的功能,以及统计(字数,行数,字符数),增强视觉体验的背景颜色功能等,简单而实用。

而网络上的各种编辑器,有的功能不足(如自带的记事本),而有些编辑器功能太繁杂,仅以日常应用方面来说,一个文本编辑器只需要简单的功能就够了。

2.3功能构架
本程序要构建的文本编辑器按照题目要求,分为四个方面:
(1)“文件”菜单:包括“新建”并提示是否保存已编辑内容,“打开”计算机本地磁盘的文本文件,主动“保存”自己已经编辑好的内容到电脑的磁盘或“另存为”新的文件之中,以及“退出”并提示是否保存已编辑的内容。

(2)“编辑”菜单:包括对已编辑文本的一个“查找与替换”功能,对已编辑英文文本的一个“大小写转换”功能。

(3)“格式”菜单:实现对文本的“字体”设置,“字体大小”以及“字体颜色”,还有
能优化视觉体验的“背景颜色”的改变。

(4)“统计”菜单:实现对中文字符的“字数”统计,以及“行数”的统计,“字符数”的统计。

以下是软件功能的构架图:
2.4界面设计
整个文本编辑器分成:JFrame程序主体框架,Jmenu菜单栏,JTextArea文本输入区,JscrollPane滚动条,FonDialog字体,JDiolog对话框与框架等。

首先定义一个TxtEditor类继承JFrame作为最底层容器,因为是编辑器,所以最重要的是使用JTextArea建立一个空白的文本域,还有顶部根据功能分成四类的菜单栏以及其中的菜单项,以及考虑到文本输出超过所示范围所需要滑动因此而添加的滚动条。

在查找与替换功能,为了使用方便,合并查找与替换功能在同一个对话框。

创新:考虑到使用者会不小心按到关闭按钮,所以添加了一个退出监听,JOptionPane 导入类确定对话框,“否”会.返回,“是”会弹出文件保存界面,操作之后会退出。

在字体、字体大小的处理中,也采用了JOptionPane导入类的输入对话框,输入自己想要的字体或者字体大小按“确定”键就能完成更改,使得可选择的字号和字体会更多。

2.5程序的实现
(1)菜单的制作
首先定义所有菜单项(例:JMenuItem itemBuilt = new JMenuItem("新建");),创建菜单条及置于顶部(JMenuBar menubar = new JMenuBar(); this.setJMenuBar(menubar);
menubar.setOpaque(true);),添加菜单栏及菜单项(例:JMenu menuFile = new JMenu("文件");menuFile.add(itemBuilt);)
要进行操作就要添加监听(例:itemBuilt.addActionListener(this);),然后对这一监听进行方法的重写(例:public void actionPerformed(ActionEvent e) {
String actionCommand = e.getActionCommand();
if (e.getSource() instanceof JMenu)
;
{
if (e.getSource() == itemBuilt) {
builtfile();
})
然后public一个对应的函数(例:
public void builtfile() {
savefile();
wen.setText(null);
fileName = "";
})
(2)打开/保存/另存为/退出
通过FileDialog文件处理对话框对文件进行读取及保存,通过识别fileName是否为空确定文件是否保存过来确定是否弹出保存窗口。

退出时通过添加窗口监听addWindowListener来监听退出,从而添加JOptionPane导入类确定框,确定后弹出保存对话框操作后实现退出。

(3)查找与替换
创建一个MyJDialog继承JDialog临时对话框类,识别想查找的内容及长度,输入为空或无此字符会有反馈。

使用indexof查找内容,用select选择住查找的内容,使用replace对内容进行替换。

(4)大小写转换
获得文本内容,然后使用toUpperCase和toLowerCase方法实现大小写转换。

(5)字体设置及背景颜色
字号及字体用JOptionPane.showInputDialog获取接下来用户输入的内容(字号或字体),代入font(””,font.plain,n)来修改文本的格式;颜色通过JColorChooser进行选择,使用setBackground,setForeground方法作用在文本域和字体上。

(6)统计
分别通过getLineCount,getText().length()方法,以及正则表达式对文本进行进行统计,以消息对话框展示。

三、测试分析
(1)新建
点击“新建”会弹出保存对话框,不管是否保存都会完成新建,清除已有的内容
(2)打开
弹出打开对话框并能实现打开文本文件
(3)保存(另存为…)
对已经保存过的文件点击“保存”会直接保存到上次的文件中,“另存为”则再次打开保存对话框重新选择
(4)退出(关闭)
弹出导入类选择对话框,点击“是”弹出保存对话框,“否”则取消退出
(5)查找与替换
再次点击“查找”可查找下一个
(6)大小写转换
(7)字体格式
通过输入来更改文字字体的样式,字号,用颜色对话框完成对文字,背景颜色的更改
(8)统计
以上是文本编辑器的测试情况,基本符合预计的结果。

四、设计体会
首先在总体函数实现方面,为避免直接使用一些方法而出现困难错乱,采用点击监听并
重写方法,再对每一个板块的方法进行定义调用,让我体会到许多功能实现工程的制作也可以使用这种方法,定义框架再对每一个部分进行单独的操作。

在字体设置板块,使用的方法是用户自主输入,可改变的字号和字体会和系统有的字体同步,会避免出现陈列选择的代码过于复杂,以及增大可选择可改变的空间。

体会到设计过程中不一定要循规蹈矩按照他人的思路去做,要有属于自己独特的想法去做,才能做出一个比较符合自己心水的东西。

附录:源代码。

相关文档
最新文档