记事本程序设计
java课设文本编辑器的设计与实现

淮海工学院计算机工程学院
课程设计报告
设计名称:面向对象课程设计
选题名称:文本编辑器的设计与实现
姓名:学号:
专业班级:
系(院):计算机工程学院
设计时间:2015.6.21~2014.7.4
设计地点:计算机楼机房、教室、宿舍
();
("确定");
("这是一个简单的文本编辑器!");
();
();
();
(200,200,250,150);
();
(20 ,60,220,30);
( ("楷体",16));
();
(100,100,50,30);
();
}
( e)
{
(())
{
();
}
}
}
4.2运行结果显示
如图1:文本编辑器主界面
如图2:文本编辑器文件菜单
如图3:
文本
编辑
器编
辑菜
单
如图4:文本编辑器格式菜单
如图5:文本编辑器帮助菜单
如图6:文本编辑器字体格式和背景
如图7:
文本编。
MFC中CreateProcess()函数 实例

CreateProcess()函数实例记事本在程序设计时,某一个具体的功能模块可以通过函数或是线程等不同的形式来实现。
对于同一进程而言,这些函数、线程都是存在于同一个地址空间下的,而且在执行时,大多只对与其相关的一些数据进行处理。
如果算法存在某种错误,将有可能破坏与其同处一个地址空间的其他一些重要内容,这将造成比较严重的后果。
为保护地址空间中的内容可以考虑将那些需要对地址空间中的数据进行访问的操作部分放到另外一个进程的地址空间中运行,并且只允许其访问原进程地址空间中的相关数据。
具体的,可在进程中通过CreateProcess()函数去创建一个子进程,子进程在全部处理过程中只对父进程地址空间中的相关数据进行访问,从而可以保护父进程地址空间中与当前子进程执行任务无关的全部数据。
对于这种情况,子进程所体现出来的作用同函数和线程比较相似,可以看成是父进程在运行期间的一个过程。
为此,需要由父进程来掌握子进程的启动、执行和退出。
下面这段代码即展示了此过程:// 临时变量CString sCommandLine;char cWindowsDirectory[MAX_PATH];char cCommandLine[MAX_PATH];DWORD dwExitCode;PROCESS_INFORMATION pi;STARTUPINFO si = {sizeof(si)};// 得到Windows目录GetWindowsDirectory(cWindowsDirectory, MAX_PATH);// 启动"记事本"程序的命令行sCommandLine = CString(cWindowsDirectory) + "\\NotePad.exe";::strcpy(cCommandLine, sCommandLine);// 启动"记事本"作为子进程BOOL ret = CreateProcess(NULL, cCommandLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);if (ret) {// 关闭子进程的主线程句柄CloseHandle(pi.hThread);// 等待子进程的退出WaitForSingleObject(pi.hProcess, INFINITE);// 获取子进程的退出码GetExitCodeProcess(pi.hProcess, &dwExitCode);// 关闭子进程句柄CloseHandle(pi.hProcess);}此段代码首先通过CreateProcess()创建Windows自带的“记事本”程序为子进程,子进程启动后父进程通过WaitForSingleObject()函数等待其执行的结束,在子进程没有退出前父进程是一直处于阻塞状态的,这里子进程的作用同单线程中的函数类似。
java课程设计

课程设计(论文)题目名称记事本程序课程名称java 程序设计课程设计学生姓名学号系、专业指导教师2010年1 月3 日摘要本次课程设计的题目是用JA V A语言编写记事本程序,要求是:用图形界面实现;含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。
本程序主要用到了Java swing组件和事件监听器,还用到了文件的输入输出流。
记事本的界面参考了Windows中的记事本界面,并且根据课程设计要求做了适当的调整。
关键词:记事本程序;Java语言;swing组件目录1 问题描述 (3)2 需求分析 (3)3 概要设计 (3)3.1自定义类说明 (3)3.2 程序流程图 (7)4 详细设计 (7)4.1 jishiben类的实现 (7)4.2 GUI程序界面设计 (7)4.3 事件处理 (9)5 测试分析 (12)6 课程设计总结 (16)6.1设计体会 (16)6.2致谢 (16)参考文献 (17)附录(源程序清单) (18)1 问题描述设计一个具有GUI界面的记事本,含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。
这次课程设计由卢炜、刘秀春、伍霜霜和我四个人合作完成。
卢炜负责概要设计,刘秀春负责4.1 jishiben类的实现和4.2 GUI程序界面设计,伍霜霜负责5测试分析。
由于4.3事件处理和撰写程序关系密切,这两项都由我负责。
并且根据伍霜霜的测试的结果重新调整程序。
2 需求分析本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)、菜单中有“文件”、“编辑”、“帮助”三个主菜单;(2)、“文件”有“新建”、“打开”、“保存”、“另存为”、“退出”分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。
(3)、“编辑”中,有“剪切”、“复制”、“粘贴”、“删除”、“查找”、“替换”、“全选”七个子菜单:用于剪切文字,复制文字,粘贴文字,删除文字,查找文件中的指定的字符串,替换文件中的指定的字符串,选定整个文件。
VB程序题

1. 参照下图制作一滚动字幕(滚动方式自由设计)。
任务1:完成学生成绩管理系统。
第五章要求:1)利用数组实现各个按钮的功能。
2)动态数组。
2. 建立一个如下图所示的记事本应用程序(小图标也可用文字替代)。
任务1:完成学生成绩管理系统。
第五章要求:1)利用数组实现各个按钮的功能。
2)动态数组。
3. 编写华氏温度与摄氏温度之间转换的程序。
任务1:完成学生成绩管理系统。
第五章要求:1)利用数组实现各个按钮的功能。
2)动态数组。
4. 建立一个登录程序,界面参考下图。
任务1:完成学生成绩管理系统。
第五章要求:1)利用数组实现各个按钮的功能。
2)动态数组。
5. 编写一个自动贩卖机系统,运行界面如下图所示。
任务1:完成学生成绩管理系统。
第五章要求:1)利用数组实现各个按钮的功能。
2)动态数组。
6. 编写如下图所示的猜数游戏程序。
7. 百元买百鸡。
假设小鸡每只0.5元,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。
结果如下图所示。
任务1:完成学生成绩管理系统。
第五章要求:1)利用数组实现各个按钮的功能。
2)动态数组。
8. 编写一个简易“学生成绩管理系统”。
第一行3个按钮的功能必做,第二行完成“成绩统计”功能。
任务1:完成学生成绩管理系统。
第五章要求:1)利用数组实现各个按钮的功能。
2)动态数组。
9. 编写一个简易“学生成绩管理系统”。
第一行3个按钮的功能必做,第二行完成“成绩排序”功能。
任务1:完成学生成绩管理系统。
第五章要求:1)利用数组实现各个按钮的功能。
2)动态数组。
10. 编写一个简易“学生成绩管理系统”。
第一行3个按钮的功能必做,第二行完成“成绩查询”功能。
任务1:完成学生成绩管理系统。
第五章要求:1)利用数组实现各个按钮的功能。
2)动态数组。
11. 完成如下图所示的“课程管理系统”程序设计。
12. 随机生成3个正整数,其中1个一位数,1个二位数,1个三位数,计算它们的平均值,保留两位小数,运行界面如下图所示。
第6章程序设计初步教参

第六章程序设计初步【本章概述】中小学程序设计教学的目的,是要求学生掌握程序设计的一般方法,发展他们的思维能力、分析问题和解决问题的能力。
VB是一种面向对象的程序设计语言,Visual意为“可视化的”,Basic指的是BASIC语言。
在学习VB时,除了学习界面设计,更要学习灵活运用VB实现各种算法。
教学过程中,教师应注重算法的教学,通过阅读程序、编写和调试程序、使用程序,逐步培养学生的程序设计的能力。
【教学要求】1.本章总的教学要求⑴熟悉Visual Basic窗口的组成,学会建立Visual Basic程序。
⑵理解对象的概念,知道对象的三要素,了解事件驱动的程序设计思想和面向对象的程序设计方法。
⑶理解窗体和控件的概念,掌握四个常用控件——命令按钮、标签、文本框和定时器,学会用可视化的设计工具设计程序界面。
⑷掌握Visual Basic的常量、变量、标准函数和表达式。
⑸掌握Let、End语句及输入输出技术,会用注释符(')为程序添加注释。
⑹掌握程序控制语句。
⑺理解数组、数组元素、下标的概念,掌握数组的简单应用。
⑻掌握算法的概念和一些简单的典型算法,能用流程图描述算法,并能用Visual Basic 语言实现算法。
⑼学会编辑、调试和运行程序。
⑽学会使用Visual Basic的帮助功能,培养通过帮助获取信息的能力。
⑾培养对程序设计的兴趣和用程序设计方法解决实际问题的能力。
⒉教学内容及课时安排本章教学约需23课时(含上机实践),具体安排如下:第一节:程序设计的基本方法1课时第二节:Visual Basic的基本知识2课时第三节:程序的建立和运行3课时(1)第四节:Visual Basic语言基础4课时(1)第五节:分支结构3课时(1)第六节:循环结构6课时(1)第七节:数组4课时(1)【教材分析与教法建议】第一节程序设计的基本方法一、教学要求⑴理解算法的概念,了解描述算法的两种方法——自然语言、流程图,知道各自的优缺点。
JAVA程序设计论文

JAVA程序设计论文课题名称:多文档编辑器(记事本)开发人员:***指导教师:**院系专业:计算机科学与技术专业提交日期:2010-12-18目录1 选题依据 (2)2 需求分析 (2)3 系统分析 (3)3.1 系统开发环境 (3)3.2 系统功能实现 (3)3.2.1 系统界面 (3)3.2.2 系统的非功能性需求 (4)3.2.3 系统的软件实现 (4)4 测试分析 (8)4.1 关于文件模块的操作测试 (8)4.2 关于编辑模块的操作测试 ........................... 错误!未定义书签。
4.3 关于其他模块的操作测试 (16)5 系统缺点 (18)6 个人总结 .....................................................................错误!未定义书签。
7 参考文献 .....................................................................错误!未定义书签。
附录……………………………………………………………………错误!未定义书签。
一:选题依据经过一个学期JA V A课程的学习,发现JA V A功能强大,应用也很广泛。
虽然之前已经学过一门面向对象语言——C++,但仅仅是皮毛,而且并没有真正领会到面向对象语言的思想和操作,所以想借这次期末论文设计好好深入学习JA V A的应用。
但是自己在计算机语言方面基础薄弱,这次基本算是从头学起,所以就想到从设计一个小型项目做起,当时软件工程代课老师建议我做个小型记事本即类似微软记事本的多文档编辑,并给予一些思路和建议,于是我便动手做了这个小项目。
本程序为JCreator开发的单机小程序,不需要网络环境的支持,结合了面向对象和软件工程的开发思路。
. 二:需求分析一个文档编辑器的基本模块一般就包含:文件,编辑,格式,查看等;基本功能无非是:新建,打开已有文件,保存,另存为,页面设置,复制粘贴,字体等。
SDI窗体和MDI窗体

1.1 单文档界面 SDI
SDI:每次只能打开一个数据窗口 制作SDI时窗体的创建、添加、属性、方法和事件和第3
章中的窗体相同 单窗体的记事本程序设计
1.2 多文档窗体
MDI:包含多个文档窗口,根据需要可同时打开多个文 档文件
多个文档窗口中,其中一个是主窗口(或者叫作父窗 口),其余的都是子窗口,主窗体用作放置其它窗体的 背景,它就像一个容器,可以包含一个或多个子窗体, 子窗体只能在父窗体的范I窗体 添加子窗体 添加装入新窗体的过程 多文档界面的文本编辑器实例
程序设计
记事本实验报告(3篇)

第1篇一、实验目的1. 了解记事本的基本功能和使用方法;2. 掌握记事本在文档编辑、存储和检索等方面的应用;3. 提高计算机操作能力和文档管理能力。
二、实验环境1. 操作系统:Windows 102. 记事本软件:系统自带的记事本程序3. 实验设备:电脑三、实验内容1. 记事本的基本操作2. 记事本文档的编辑与存储3. 记事本文档的检索与排序4. 记事本与其他应用程序的协作四、实验步骤1. 记事本的基本操作(1)打开记事本:在电脑桌面右击,选择“新建”->“文本文档”,重命名为“实验报告.txt”,双击打开。
(2)输入文本内容:在记事本编辑区输入实验目的、实验环境、实验内容等文本信息。
(3)保存文档:点击菜单栏的“文件”->“保存”或按快捷键Ctrl+S,选择保存路径,输入文件名“实验报告”,保存为纯文本格式(.txt)。
2. 记事本文档的编辑与存储(1)编辑文本:选中文本内容,进行修改、删除、插入等操作。
(2)格式设置:设置字体、字号、颜色等格式。
(3)保存文档:点击菜单栏的“文件”->“保存”或按快捷键Ctrl+S,更新文档内容。
3. 记事本文档的检索与排序(1)检索文本:点击菜单栏的“编辑”->“查找”,输入要查找的文本内容,查找结果会显示在记事本底部。
(2)排序文本:选中需要排序的文本内容,点击菜单栏的“格式”->“排序”,选择排序方式(升序或降序)。
4. 记事本与其他应用程序的协作(1)复制粘贴:将记事本中的文本内容复制粘贴到其他应用程序中。
(2)导入导出:将其他应用程序的文档导入记事本,或将记事本的文档导出为其他格式。
五、实验结果与分析1. 实验结果:通过本次实验,掌握了记事本的基本操作、文档编辑与存储、检索与排序以及与其他应用程序的协作等功能。
2. 实验分析:记事本是一款简单易用的文本编辑工具,具有以下特点:(1)操作简单,易上手;(2)支持纯文本格式,兼容性强;(3)文档编辑功能丰富,可满足基本需求;(4)与其他应用程序协作方便。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南商学院《面向对象程序设计》课程设计报告题目简单的记事本姓名: 郑玉梅学号: 080920108专业计算机科学与技术班级: 计科0803班指导教师: 王正飞职称副教授计算机与电子工程学院2010年1月课程设计评审表课程设计作品验收表注:1. 除“验收情况”栏外,其余各栏均由学生在作品验收前填写。
2. “验收情况”栏由验收小组按实际验收的情况如实填写。
目录1 课程设计过程概述 (1)2课程设计题目描述和基本设计要求 (1)2.1题目描述 (1)2.2基本设计要求 (1)3系统需求分析 (2)3.1功能需求分析 (2)3.2其他需求分析 (2)4系统设计 (2)4.1总体设计 (2)4.3记事本典界面设计 (3)4.4各功能模块设计 (7)4.4.1打开模块设计 (7)4.4.2保存模块设计 (8)4.4.3退出模块设计 (8)4.4.4 打印模块设计 (8)4.4.5 复制模块设计 (9)4.4.6 粘贴模块设计 (9)4.4.7 剪切模块设计 (10)4.4.8 日期模块设计 (10)4.5 异常处理情况说明 ...........................................错误!未定义书签。
5系统实现与测试 (12)6课程设计总结 (14)6.1遇到的问题及解决办法 (14)6.2心得体会 (14)参考文献 (15)简单的记事本1 课程设计过程概述大二第一学期临近期末,学院对我们进行了为期两周的Java课程培训,要求我们在实验楼二楼网络机房进行了学年度课程设计。
这次课程设计的主要目的是结合面向对象程序设计课程,培养我们面向对象软件开发的思维,初步了解软件开发的一般流程,提高用Java编程的实际动手能力并增强大家对面向对象的了解。
这次课程设计的主要内容是独立用Java语言开发一个小的应用程序、网络应用程序或者是管理系统。
我开发了一个简单的记事本,可以实现记事本的一些常用功能。
2课程设计题目描述和基本设计要求2.1题目描述现在网络上各种文档编辑器数不胜数,功能也是应有尽有,又能改变字体的,又能改变字体颜色的。
但是,这些软件又存在各种各样的瑕疵和问题:有的文件体积相对于一般文字编辑来说太大;有的功能太复杂,是初级使用者难以掌握。
仅从日常应用方面来说,一个文本编辑器仅需一些简单实用的功能就够了。
本程序就是依照这样一种使用需要设计了一个简单的记事本程序。
我设计的简单的记事本是基于Java的awt组建应用的小应用程序(Java Application),记事本界面上的按钮、菜单栏选项有文件和编辑两个菜单,其中的菜单项可以满足记事本新建文本文档,打开电脑中已有的文档,保存新建文本文件,打印文件,退出当前文件,以及文档内容的复制,粘贴,剪切,查找,全选等基本操作功能。
另外,还可通过编辑菜单中的date菜单项获得本地当时时间等各项日常熟悉的功能。
2.2基本设计要求(1)功能齐全;(2)保证文件安全,操作简捷;(3)操作方便、简单,界面友好;(4)易于维护和扩充;(5)对系统的运行效率要高,绝对不能出错;程序响应速度要求不高。
3系统需求分析3.1功能需求分析本记事本的主要功能如下所述:(1)本记事本提供新建任意形式的文本文件并保存在当前电脑中;(2)可以根据用户的需要用记事本的方式打开当前电脑中的文件,亦可推出当前所编文档;(3)用户可以对打开的记事本文档进行复制、粘贴、查找,全选以及剪切;(4)记事本界面可显示本地当前时间等信息。
3.2其他需求分析(1)性能描述实时性好、灵活性强、可以实现各种简单的操作。
(2)设计约束开发工具:Java运行环境:Windows 2000以上能实现用户所定义的各项需求。
(3)界面要求以windows窗口形式显示,标题栏为记事本名称,右上角有最小化按钮、最大化按钮、关闭按钮,菜单栏有文件、编辑两个菜单项,均有子菜单。
窗口右边和下边是显示文本的文本滚动条,打开各菜单项时可显示各自对应的对话框。
4系统设计4.1总体设计记事本主要分为文件、编辑菜单模块;其中文件模块又由新建,打开,保存,打印,退出等模块组成,编辑模块由复制,粘贴,剪切,查找,全选,日期等操作模块组成。
程序时使用Java程序编写,能够进行文字输入操作,并具有一些特殊的功能,该程序主要用到了Java swing和事件监听等。
简单的记事本的功能模块图如图1所示:图1 功能模块图4.3简单的记事本界面设计一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。
我设计的界面主要分为窗体、菜单、按钮和文本输入框几个部分,分别执行相应的操作。
界面如下:图2 主界面图3 点击file出现的界面图4 点击Edit出现的界面界面中需要用到的类的层次关系如图5所示:图5 类的层次关系(1)窗体的设计窗体整个框架使用JFrame类构造,JFrame有自己的外边框和自己的标题,创建JFrame时可以指定其窗口标题,我创建的窗口标题是一个简单的记事本。
相应源代码为:public NotePad(){ super("一个简单的记事本");}。
向JFrame窗口中添加组件使用add()。
每个JFrame在其右上角都有三个控制图标,分别代表将窗口最小化、窗口最大化和关闭的操作,其中最小化和最大化操作JFrame可自动完成,而关闭窗口操作实现需要书写有关的代码,在我的程序中我采用的是对WINDOWS_CLOSING事件做出响应,调用dispose()方法关闭窗口。
JFrame也可以引发WindowsEvent类代表的窗口事件。
相应源代码为:addWindowListener(new WindowAdapter() //窗口侦听器,以从此窗口接收窗口事件{public void windowClosing(WindowEvent e) //处理窗口关闭事件{ System.exit(0); }});}(2)菜单的设计菜单是非常主要的GUI组件,每个菜单组件包括一个菜单条MenuBar。
每个菜单条又包括若干个菜单Menu。
每个菜单再包含若干个菜单项MenuItem。
本系统菜单条中设计了文件、编辑两个菜单,在文件菜单下面包含“新建”、“打开”、“保存”、“退出”、“打印”五个菜单项;在编辑菜单项下面包含“复制”、“粘贴”、“剪切”、“全选”、“查找”、“查找下一个”六个菜单项;为了定义各个菜单项所对应的命令和操作,首先需要将各个菜单项给予实现了动作事件的监听接口ActionListener的监听者,然后为监听者定义actionPerformed(ActionEvent e)方法,我设计的这个记事本源程序中采用在主类中创建多个内部类的方式为各菜单项提供监听器。
通过这些实现了actionPerformed(ActionEvent e)方法的内部类创建对象来监听各个菜单项的动作事件,方便而简捷。
(3)对话框(Dialog)事件和JFrame一样,Dialog是有边框、有标题的独立存在的容器,并且不能被其他容器所包容;但是Dialog不能作为程序的最外层容器,也不能包含菜单项。
与Window一样,Dialog必须隶属于一个JFrame并由其负责弹出。
Dialog通常起到与用户交互的对话框作用。
本系统设计了几个对话框。
提示用户所执行的操作的正确与否。
例如:在执行退出操作时,若点击exit按钮,则弹出警告对话框。
部分源代码为:class exitl implements ActionListener{public void actionPerformed(ActionEvent e){NotePad f=new NotePad();int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);if(s==JOptionPane.YES_OPTION)System.exit(0);}}4.4各功能模块设计4.4.1打开模块设计记事本实现打开文件是通过在打开菜单项中添加监听器。
当用户点击open按钮时便会弹出对话框。
在主类中建立open菜单项,再给open菜单项添加监听器。
另创建一个内部类实现该事件的方法。
这样便可打开当前电脑中的所有可打开的文件。
此模块相应的部分源代码为:内部类代码:class openl implements ActionListener{public void actionPerformed(ActionEvent e){JFileChooser jf=new JFileChooser();jf.showOpenDialog(NotePad.this);}}主类中代码:JMenuItem mOpen=new JMenuItem("Open",KeyEvent.VK_O);mOpen.addActionListener(new openl());mFile.add(mOpen);4.4.2保存模块设计记事本实现保存文件是通过在保存菜单项中添加监听器。
当用户点击save按钮时便会弹出对话框。
在主类中建立save菜单项,再给save菜单项添加监听器。
另创建一个内部类实现该事件的方法。
这样便可打开当前电脑中的所有可打开的文件。
此模块相应的部分源代码为:内部类代码:class savel implements ActionListener{public void actionPerformed(ActionEvent e){JFileChooser jf = new JFileChooser();jf.showSaveDialog(NotePad.this);}}主类中代码:JMenuItem mSave=new JMenuItem("Save");mSave.addActionListener(new savel());mFile.add(mSave);4.4.3退出模块设计记事本实现保存文件是通过在保存菜单项中添加监听器。
当用户点击save按钮时便会弹出对话框。
在主类中建立save菜单项,再给save菜单项添加监听器。
另创建一个内部类实现该事件的方法。
这样便可打开当前电脑中的所有可打开的文件。
此模块相应的部分源代码为:内部类代码:class exitl implements ActionListener{public void actionPerformed(ActionEvent e){NotePad f=new NotePad();int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);if(s==JOptionPane.YES_OPTION)System.exit(0);}}主类中代码:JMenuItem mExit=new JMenuItem("Exit");mExit.addActionListener(new exitl());mFile.add(mExit);mFile.setMnemonic(KeyEvent.VK_F);4.4.4 打印模块设计记事本实现保存文件是通过在保存菜单项中添加监听器。