记事本设计_报告
- 格式:doc
- 大小:3.46 MB
- 文档页数:45
记事本系统设计实践
1. 界面设计:首先需要设计一个图形用户界面(GUI),提供用户可视化的交互方式。
可以在界面上放置文本框、按钮、菜单等组件,方便用户编辑文本、打开、保存文件等操作。
2. 数据结构:为了保存用户输入的文本,需要使用数据结构来存储数据。
一般情况下可以使用字符串或字符数组来存储文本内容,也可以使用链表来存储多行文本,以便进行插入、删除等操作。
3. 文件读写功能:记事本需要实现打开、保存、另存为等文件操作。
在代码中可以运用文件读写函数实现。
4. 剪切、复制、粘贴功能:这个功能直接调用系统函数即可实现。
5. 撤销、重做功能:为了方便用户进行更多的编辑操作,需要实现撤销和重做功能。
可以使用栈数据结构来实现这个功能,每次用户进行操作时,将该操作记录下来,若用户进行了撤销、重做,就可以从栈中取出已经存储的操作。
6. 编辑功能:可以实现字体、颜色等编辑功能,让用户自由地进行文本样式调整。
7. 快捷键功能:为了方便用户,在代码中可以实现某些快捷键功能,例如撤销、
重做、保存等。
8. 其他功能:还可以实现查找、替换、自动保存、打印等功能,增加更多的实用性。
总之,一个记事本系统的设计需要从多个角度考虑,重点是界面、数据结构、文件读写、快捷键等功能的实现。
Java课程设计报告:记事本1. 引言记事本是一款常见的文本编辑工具,广泛应用于日常工作和学习中。
本文将介绍一种基于Java语言开发的简易记事本设计方案。
2. 设计思路2.1 界面设计记事本的界面应简洁明了,方便用户进行文本编辑和操作。
可以考虑使用Swing或JavaFX等图形库来创建用户界面。
2.1.1 主窗体记事本的主窗体应包含一个菜单栏和一个文本编辑区域。
菜单栏包含文件、编辑、格式等功能项,可以使用Java提供的菜单组件来实现。
2.1.2 文件操作在菜单栏的文件功能项中,应包含新建、打开、保存、另存为等操作。
这些功能可以通过文件选择对话框来实现。
2.1.3 文本编辑文本编辑区域应支持基本的编辑功能,如复制、粘贴、剪切和撤销等操作。
可以使用Java提供的文本框组件来实现。
2.2 功能设计记事本的功能设计应满足用户的基本需求,如文本编辑、保存和打开文件等。
2.2.1 文本编辑功能用户可以在文本编辑区域输入和编辑文本内容。
可以提供字体、颜色和对齐等格式设置功能。
2.2.2 文件操作功能用户可以通过菜单栏的文件功能项进行文件的新建、打开、保存和另存为等操作。
可以使用Java的文件IO功能来实现。
2.3 实现步骤2.3.1 创建主窗体首先,需要创建一个主窗体,并设置合适的大小和布局。
可以使用Swing或JavaFX提供的窗体组件来实现。
2.3.2 添加菜单栏在主窗体中添加一个菜单栏,并设置合适的菜单和菜单项。
可以使用Java提供的菜单和菜单项组件来实现。
2.3.3 添加文件操作功能在菜单栏的文件功能项中添加新建、打开、保存和另存为等功能,并实现相应的事件处理。
可以使用Java提供的文件选择对话框和文件IO功能来实现。
2.3.4 添加文本编辑功能在主窗体中添加一个文本编辑区域,并提供复制、粘贴、剪切和撤销等编辑功能。
可以使用Java提供的文本框组件和编辑功能来实现。
3. 实现代码以下是一个简单记事本的Java代码示例:import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.*;public class Notepad extends JFrame {private JTextArea textArea;private JFileChooser fileChooser;public Notepad() {setTitle("记事本");setSize(600, 400);setDefaultCloseOperation(EXIT_ON_CLOSE);createMenuBar();textArea = new JTextArea();JScrollPane scrollPane = new JScrollPane(textArea);add(scrollPane, BorderLayout.CENTER);fileChooser = new JFileChooser();setVisible(true);}private void createMenuBar() {JMenuBar menuBar = new JMenuBar();JMenu fileMenu = new JMenu("文件");JMenuItem newMenuItem = new JMenuItem("新建");JMenuItem openMenuItem = new JMenuItem("打开");JMenuItem saveMenuItem = new JMenuItem("保存");JMenuItem saveAsMenuItem = new JMenuItem("另存为");newMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {textArea.setText("");}});openMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int result = fileChooser.showOpenDialog(Notepad.this);if (result == JFileChooser.APPROVE_OPTION) {File file = fileChooser.getSelectedFile();try {BufferedReader reader = new BufferedReader(new FileReader(file));String line;StringBuilder content = new StringBuilder();while ((line = reader.readLine()) != null) { content.append(line).append("\n");}reader.close();textArea.setText(content.toString());} catch (IOException ex) {ex.printStackTrace();}}}});saveMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int result = fileChooser.showSaveDialog(Notepad.this);if (result == JFileChooser.APPROVE_OPTION) {File file = fileChooser.getSelectedFile();try {BufferedWriter writer = new BufferedWriter(new FileWriter(file));writer.write(textArea.getText());writer.close();} catch (IOException ex) {ex.printStackTrace();}}}});saveAsMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int result = fileChooser.showSaveDialog(Notepad.this);if (result == JFileChooser.APPROVE_OPTION) {File file = fileChooser.getSelectedFile();try {BufferedWriter writer = new BufferedWriter(new FileWriter(file));writer.write(textArea.getText());writer.close();} catch (IOException ex) {ex.printStackTrace();}}}});fileMenu.add(newMenuItem);fileMenu.add(openMenuItem);fileMenu.add(saveMenuItem);fileMenu.add(saveAsMenuItem);menuBar.add(fileMenu);setJMenuBar(menuBar);}public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {@Overridepublic void run() {new Notepad();}});}}4. 总结本文介绍了一种基于Java语言开发的简易记事本设计方案。
基于Android平台记事本的设计与实现1.设计目的记事本的基本功能就是记事,手机用户首先用到的就是文本记事,输入事务信息以文本的形式展现出来,存储起来。
随着用户需求的增加,可能希望用图形来代替文本来记事,用户之间打开记事本,看到图片就能联系自己所记载的事务信息。
这样免去了输入文字的麻烦,反而会更简单。
又或者是文本与图片的交叉运用,可以让用户自己选择自己喜欢的记事方式,更加自由与便捷。
所以此功能的意义是让简单的记事信息能以文本、图文和视频表达,更加丰富多彩。
2.设计内容本设计的基本内容是在Android平台下,设计与实现记事本软件。
具体要实现的功能是:(1)设计实现添加“文字”,“图文”,“视频”这三个主要的功能模块。
(2)进入添加后,有“保存”,“取消”两种选择。
(3)主页面显示记事列表,点击可查看及时内容,并有“删除”,“返回”两种选择。
(4)进行测试并分析结果。
3.开发环境的安装与配置3.1 Android开发平台搭建本设计主要是以Eclipse为基础,安装SDK和ADT插件后,用来开发安卓项目。
开发平台搭建步骤介绍如下。
(1)下载JDK并安装,安装后配置环境变量。
(2)下载Eclipse解压至指定文件夹。
(3)下载SDK后解压至指定文件夹,打开SDK目录,点击SDK Manager安装开发安卓项目需要的包。
(4)启动Eclipse,进入Help—>Install New Software—>Add,添加ADT插件。
(5)进入Window—>Android—>Browse,选择SDK安装目录。
3.2硬件环境Android设备,如Android手机或平板电脑,主频在1Ghz及以上,内存为512MB以上,系统版本为Android2.1及以上。
本设计使用Android4.4.4的手机。
3.3 软件环境操作系统:windows10IDE:EclipseAndroid SDK 集成环境4.设计主体架构4.1 src文件夹src文件夹下com.liwenhuan.notepad包下为系统主要Activity类:NotesDB.java是进行数据储存的,通过SQLite保存数据。
java课程设计记事本设计报告一、教学目标本课程旨在通过Java编程语言实现一个记事本应用程序,让学生掌握Java编程的基本概念和方法,培养学生的编程能力和解决问题的能力。
1.理解Java编程语言的基本语法和结构。
2.掌握Java编程中的数据类型、变量、运算符、控制语句等基本概念。
3.学习Java中的类和对象的概念,理解封装、继承和多态的原理。
4.熟悉Java中的常用类库和方法。
5.能够运用Java编程语言编写简单的程序。
6.能够使用Java编程语言实现一个记事本应用程序,包括文本的增删改查等功能。
7.能够分析并解决编程过程中遇到的问题。
情感态度价值观目标:1.培养学生的团队合作意识和沟通能力,通过小组合作完成项目。
2.培养学生的创新思维和解决问题的能力,鼓励学生进行自主学习和探索。
3.培养学生的学习兴趣和自信心,让学生感受到编程的乐趣和成就感。
二、教学内容本课程的教学内容主要包括Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现。
1.Java编程语言的基本概念和方法:–数据类型、变量、运算符、控制语句等基本概念。
–类和对象的概念,封装、继承和多态的原理。
–常用类库和方法的使用。
2.记事本应用程序的设计和实现:–用户界面设计:创建文本框、按钮等控件,实现用户输入和显示功能。
–文件操作:实现文件的打开、保存、关闭等功能,使用文件读写技术。
–文本处理:实现文本的增删改查等功能,使用数据结构和算法进行文本管理。
三、教学方法本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:教师通过讲解Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现,引导学生掌握相关知识。
2.讨论法:学生分组进行讨论,分享自己的理解和思路,互相学习和交流。
3.案例分析法:分析实际案例,让学生了解记事本应用程序的实际应用场景和设计思路。
4.实验法:学生通过编写代码和进行实验,实现记事本应用程序的功能,培养学生的实际编程能力和解决问题的能力。
记事本设计说明3023001083 奚苏立混合(3)班1.需求分析1.1记事本要求满足一般用户对文本文件编辑的最基本要求。
采用菜单和对话框操作,界面简洁友好,用户可直接在文本框中进行文本输入和编辑,支持所有英文纯文本文件。
支持多文件打开处理,块操作,文件之间的操作等。
一个类似Edit的Dos程序。
1.2 记事本功能文件:可在任意时刻打开或新建文件,可将文件另存。
也可对打开后的任意文件进行保存关闭。
在退出时,对于没有保存的文件,程序将给予提示。
编辑:支持所有块操作。
利用菜单或快捷键设置块头,块尾(系统可自动调整相对位置)或取消块定义。
有粘贴,拷贝,剪切等功能。
可以在文件之间进行操作。
查找:提供查找和替换功能。
对于查找,有匹配整个单词和匹配字母大小写两个选项。
对于替换,除上两个选项,还有整体替换选项。
(对于查找和替换,对话框已写出,但由于最后时间过紧,因此具体实现代码没有写出)。
窗口:可在任意已打开文件之间进行切换。
帮助:提供对所有操作的详细说明。
几乎所有操作都有对应的快捷键,使用户使用更加方便。
2.总体设计整个程序共分两大块:Document和View。
Document主要负责对文件内容的内部储存和管理。
对文本的输入或编辑都由Docum ent负责。
它可以将磁盘上的文件按自己内部格式读入内存,或将编辑内容按纯文本格式保存至磁盘。
Document会根据用户对文本的操作对内存中的文件内容进行修改,如插入,编辑。
同时还要储存编辑时的状态信息:如光标的位置,块的定义位置,文件是否保存过等,因此对于翻页,光标移动等操作,Document都将有所响应。
Document还会给V iew提供足够的信息和操作,如从哪里开始显示,每段的字数,总段数,光标的位置等。
(当然,有的信息可能会用不上)。
总之,关于文件内容的一切信息都归于Document。
但是,这部分用户是不可见的,用户并不直接和Document打交道。
V iew主要负责界面的显示和刷新。
记事本需求分析报告标题:记事本需求分析报告摘要:记事本是一种简单易用的应用软件,广泛应用于日常工作和生活中。
本报告旨在对记事本的需求进行分析,以便为其设计和开发提供指导。
1. 引言记事本是一款用于记录、保存和管理文字信息的应用软件。
它的功能简单实用,用户可以通过它创建新的文档,编辑已存在的文档,并进行各种操作,如复制、粘贴、保存、打印等。
本报告将对记事本的需求进行详细分析,并提出相应的设计和开发建议。
2. 功能需求2.1 文本编辑功能记事本应具有基本的文本编辑功能,包括插入、删除、替换、复制、粘贴等。
此外,它还应支持字体、大小、颜色、对齐方式等格式的调整和选定。
2.2 文件操作功能记事本应具备文件的创建、打开、保存、另存为、关闭等功能。
它还应支持文件的导入和导出,以便用户可以在不同平台和设备之间共享文档。
2.3 快捷键操作功能为了提高用户的操作效率,记事本应支持快捷键的设置和使用。
用户可以自定义快捷键,以便快速执行常用的操作。
3. 用户界面需求3.1 界面简洁直观记事本的界面应该尽可能简洁直观,方便用户进行操作。
不应该有过多的复杂功能,以免使用户感到困惑。
3.2 易于定制记事本应该提供一定程度的界面定制功能,允许用户根据自己的喜好和使用习惯进行界面的个性化设置。
4. 平台和设备兼容性需求4.1 跨平台使用记事本应该兼容不同的操作系统平台,如Windows、MacOS、Linux等,以便用户可以在不同的设备上使用。
4.2 设备适配性记事本的界面和操作应该适配不同类型的设备,如台式机、笔记本电脑、平板电脑和智能手机等,以便用户可以在不同的设备上方便地使用。
5. 安全性需求5.1 数据安全性记事本应该提供数据的保护和备份功能,以防止数据的丢失和损坏。
它应该支持数据的定期自动保存和手动保存,以便用户可以恢复误操作导致的数据丢失。
5.2 隐私保护记事本应该提供隐私保护功能,确保用户的个人隐私和敏感信息不被泄露。
课程设计报告课程名称:面向对象程序设计题目名称:记事本学生姓名:学号:专业班级:指导教师:目录一.前言--------------------------------------------------3 二.课程设计目的与任务-------------------------------4三.课程设计内容---------------------------------------41.记事本主要内容-------------------------------------42.设计思想--------------------------------------------43.主要构架--------------------------------------------44.流程图----------------------------------------------55.核心模块------------------------------------------ 56.文件菜单的各个功能------------------------------ 67.使用说明--------------------------------------------68.设计及分析------------------------------------------79.设计总节----------------------------------------- ---8四.附录--------------------------- ----------------------8 1打开的源码---------------------------------------------82保存的源码---------------------------------------------8五.主要参考资料----------------------------------------9前言Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。
课程设计报告课程名称:面向对象程序设计题目名称:记事本学生姓名:学号:专业班级:指导教师:目录一.前言--------------------------------------------------3 二.课程设计目的与任务-------------------------------4三.课程设计内容---------------------------------------41.记事本主要内容-------------------------------------42.设计思想--------------------------------------------43.主要构架--------------------------------------------44.流程图----------------------------------------------55.核心模块------------------------------------------ 56.文件菜单的各个功能------------------------------ 67.使用说明--------------------------------------------68.设计及分析------------------------------------------79.设计总节----------------------------------------- ---8四.附录--------------------------- ----------------------8 1打开的源码---------------------------------------------82保存的源码---------------------------------------------8五.主要参考资料----------------------------------------9前言Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。
实验10 JAVA简单记事本程序设计实验目的1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;3) 培养学生在项目开发中团队合作精神,创新意识及能力。
1.掌握窗口、菜单等高级组件的应用。
2.掌握Java Swing的使用方法。
3.了解GUI应用程序的创建过程与方法。
实验内容课题:学生成绩管理1、功能要求: 编写一个简单记事本程序,要求包含以下菜单项文件新建、打开、保存、退出编辑剪切、拷贝、粘贴、查找帮助关于2、实现文件和编辑菜单里的功能3.1 系统实施1:界面设计创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。
主要代码:f=new Frame(s);p1=new TextArea("");f.setSize(400,600);f.setBackground(Color.white);f.setVisible(true);menubar=new MenuBar();menu1=new Menu("文件");menu2=new Menu("编辑");menu3=new Menu("帮助");item1=new MenuItem("新建");item2=new MenuItem("打开");item3=new MenuItem("保存");item4=new MenuItem("另存为");item5=new MenuItem("退出");item6=new MenuItem("全选");item7=new MenuItem("复制");item8=new MenuItem("剪切");item9=new MenuItem("粘贴");item10=new MenuItem("关于");menu1.add(item1);menu1.add(item2);menu1.add(item4);menu1.add(item5);menu2.add(item6);menu2.add(item7);menu2.add(item8);menu2.add(item9);menu3.add(item10);menubar.add(menu1);menubar.add(menu2);menubar.add(menu3);f.setMenuBar(menubar);2:功能设计对每个菜单项进行注册监听。
课程名称JA V A程序设计学习中心(点):专业:层次:姓名:批次:记事本程序设计报告目录摘要 (2)前言 (3)1需求分析 (3)1.1需求分析 (3)1.2功能设计 (3)2.概要设计 (4)2.1程序设计思路 (4)2.2程序运行界面 (4)2.3模块说明图 (5)2.4程序流程图 (6)2.5程序相关说明 (7)3.程序详细设计与分析 (7)3.1.初始化组件 (7)3.2.构建菜单栏及其下拉菜单 (7)3.3.“文件”菜单的事件监听 (8)3.4.“编辑”菜单的事件监听 (9)3.5.异常处理 (10)4.测试分析 (11)5.源程序清单 (12)6.课程设计体会 (17)7.致谢 (18)参考文献 (18)记事本程序的设计摘要该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。
该程序主要用到了Java swing和事件监听等。
关键字:记事本程序;Java语言;Jcreator前言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。
后来它的开发者们发现它还可以被用于更大范围的Internet上。
1995年,Java语言的名字从Oak编程了Java。
1997年J2SE1.1发布。
1998年J2SE1.2发布,标志Java2的诞生。
十多年来,Java 编程语言及平台成功地运用在网络计算及移动等各个领域。
Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。
它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。
Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。
Java的平台标准有Java ME,Java SE和Java EE。
Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。
目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。
Java课程设计题目:记事本程序小组成员:陈帅帅、顾红亮、党锋、李进、王泽恒、张寒兵、张钊目录一、程序主要完成的功能 (2)二、设计思路和框图 (3)三、主要代码 (7)四、创新,收获和不足及改进 (25)五、小组成员以及组中每个人做了哪些工作 (25)一、程序主要完成的功能本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)、菜单中有“文件”、“编辑”、“帮助”三个主菜单;(2)、“文件”有“新建”、“打开”、“保存”、“另存为”、“退出”分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。
(3)、“编辑”中,有“剪切”、“复制”、“粘贴”、“删除”、“查找”、“替换”、“全选”七个子菜单:用于剪切文字,复制文字,粘贴文字,删除文字,查找文件中的指定的字符串,替换文件中的指定的字符串,选定整个文件。
(4)“帮助”菜单中有“关于”的子菜单,用于描述记事本程序的相关信息。
二、设计思路和框图2.1主流程图开始输入文字?新建打开保存另存为剪切复制粘贴删除查找替换全选关于退出结束图2.1主流程图NY2.2“文件”菜单操作流程开始“文件”菜单新建另存为File=f打开用JFileChooser()选择所有打开文件路径用setDialogType读取所选的文件内容到记事本保存用JFileChooser()保存文件用JFileChooser()选择文件另存的路径setDialogType打开退出或关闭文件是否修改保存文件Y结束N图2.2 “文件”菜单操作流程图关闭文件2.3“编辑”菜单操作流程开始“编辑”菜单剪切全选对选择文本进行Cat 剪切动作复制Copy动作粘贴Paste动作删除对选择文本使用ReplaceSelection动作查找替换用JLabe实现查找替换动作lselectAll动作退出或关闭文件是否修改保存文件结束关闭文件YN图2.3 “编辑”菜单操作流程图2.4“帮助”菜单操作流程开始“帮助”菜单关于记事本显示记事本的有关信息结束图2.4 “帮助”菜单操作流程图三、主要代码import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;public class MyNotePad implements ActionListener{ //实现ActionListener这个接口,实现这个接口中所有方法private JFrame frame=new JFrame("记事本"); //新建记事本frameprivate JTextArea jta=new JTextArea(); //创建文本输入区private String result="";private boolean flag=true; //布尔型 true/falseprivate File f; //新建fileprivate JTextField jtf=new JTextField(15); //新建文本框private JTextField jt=new JTextField(15);private JButton jb=new JButton("开始"); //开始按钮private JButton jbt=new JButton("替换为"); //替换按钮private JButton jba=new JButton("全部替换");private Icon ic=new ImageIcon(" ");private String value;private int start=0;private JFrame jf=new JFrame("查找");//查找对话框frameprivate JFrame jfc=new JFrame("替换");//替换对话框framepublic void actionPerformed(ActionEvent e) { //接收操作事件的侦听器接口String comm=e.getActionCommand(); //返回e当前动作指向对象的名称if("新建".equals(comm)){ //新建按钮的动作的可能性if(!(frame.getTitle().equals("新记事本"))){ //新建记事本的话就直接写动作if(!flag){write();newNew();}else //否则保存{JFileChooser jfc=new JFileChooser(" ");//文件选择对话框int returnVal = jfc.showDialog(null,"保存为");//对话框的标题保存为if(returnVal == JFileChooser.APPROVE_OPTION) {f=jfc.getSelectedFile();flag=false;write();}}}else //文本区空,新建前保存if(!(jta.getText().isEmpty())){JFileChooser jfc=new JFileChooser(" ");int returnVal = jfc.showDialog(null,"保存为");if(returnVal == JFileChooser.APPROVE_OPTION) { f=jfc.getSelectedFile();flag=false;write();newNew();}}else{newNew();}}else if("打开".equals(comm)){//打开动作JFileChooser jfc=new JFileChooser(" ");jfc.setDialogType(JFileChooser.OPEN_DIALOG);//弹出文件打开对话框int returnVal = jfc.showOpenDialog(null);if(returnVal == JFileChooser.APPROVE_OPTION) {f=jfc.getSelectedFile();//选择的文件赋给fframe.setTitle(f.getName());result=read();flag=false;value=result;jta.setText(result);}}else if("保存".equals(comm)){//保存动作JFileChooser jfc=new JFileChooser(" ");if(flag){int returnVal = jfc.showDialog(null,"保存为");if(returnVal == JFileChooser.APPROVE_OPTION) { f=jfc.getSelectedFile();flag=false;write();}}else{write();}}else if("另存".equals(comm)){//另存动作JFileChooser jfc=new JFileChooser(" ");int returnVal = jfc.showDialog(null,"另存");if(returnVal == JFileChooser.APPROVE_OPTION) { f=jfc.getSelectedFile();write();}}else if("退出".equals(comm)){//退出动作System.exit(0);}else if("撤销".equals(comm)){//撤销动作jta.setText(value);}else if("剪切".equals(comm)){//剪切动作value=jta.getText();jta.cut();}else if("复制".equals(comm)){//复制动作jta.copy();}else if("粘贴".equals(comm)){//粘贴动作value=jta.getText();jta.paste();}else if("删除".equals(comm)){//删除动作value=jta.getText();jta.replaceSelection(null);}else if("全选".equals(comm)){//全选动作jta.selectAll();}else if("查找".equals(comm)){//查找动作value=jta.getText();jf.add(jtf,BorderLayout.CENTER); //中部加入“查找内容”文本框jf.add(jb,BorderLayout.SOUTH);//南面加入“开始”按钮jf.setLocation(300,300);jf.pack();//默认大小jf.setVisible(true);jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//关闭窗口}else if("替换".equals(comm)){//替换动作value=jta.getText();//在JTextArea jta中替换GridLayout gl=new GridLayout(3,3);//3*3表格布局JLabel jl1=new JLabel("查找内容:");JLabel jl2=new JLabel("替换为:");jfc.setLayout(gl);//加入gljfc.add(jl1);jfc.add(jtf);jfc.add(jb);jfc.add(jl2);jfc.add(jt);jfc.add(jbt);JLabel jl3=new JLabel();JLabel jl4=new JLabel();jfc.add(jl3);jfc.add(jl4);jfc.add(jba);jfc.setLocation(300,300);jfc.pack();jfc.setVisible(true);jfc.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); }else if("版本".equals(comm)){//版本动作JDialog jd=new JDialog(frame,"版本");jd.setSize(200,200);JLabel l=new JLabel("Ver 1.0");//版本内容Labeljd.add(l,BorderLayout.CENTER);//中部加入Labeljd.setLocation(100,200);jd.setSize(300,300);jd.setVisible(true);//jd.pack();jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);}else if("开始".equals(comm)||"下一个".equals(comm)){//替换开始,下一个动作String temp=jtf.getText();//temp为要查找替换的字符int s=value.indexOf(temp,start); //报告指定字符在此实例中的第一个匹配项的索引。
记事本设计报告书一、设计要求:1.用图形用户界面实现。
2.能实现编辑、保存、另存为、查找替换等功能。
二、程序流程框图图-1 主程序流程图三、各模块的功能及程序说明在设计编辑、保存、另存为、查找替换等功能的时候,考虑到要使用户感到这个产品简单,实用,操作方便快捷,翻阅了大量的书籍资料,并在网上看了设计这一程序的多种不同的意见,最终确立了自己的方案,完成了自己的设计要求。
四、源程序import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JOptionPane;import java.io.File;import java.util.Hashtable;import java.util.Enumeration;import javax.swing.filechooser.*;public class MyActions {// static final long serialVersionUID = 3228193999994336070L;// 打开文件String fileOpen() {// 设置普通参数BufferedReader in = null; // 设置读缓冲JFrame dialogFrame = new JFrame(); // 弹出窗口String filePath; // 文件路径StringBuffer sbTemp = new StringBuffer(""); // 文件缓冲String sTemp = null; // 行缓冲// 设置打开文件的扩展名开始JFileChooser c = new JFileChooser();ExampleFileFilter filter = new ExampleFileFilter();filter.addExtension("txt");filter.setDescription("文本文件");c.setFileFilter(filter);// 设置打开文件的扩展名结束int rVal = c.showOpenDialog(dialogFrame);if(rVal == JFileChooser.APPROVE_OPTION) {filePath = c.getSelectedFile().getPath();try{ //try ,catch 抛出,捕获异常in = new BufferedReader(new FileReader(filePath)); // 文件路径} catch (FileNotFoundException e1) {e1.printStackTrace(); //抛出异常时执行的代码}try {while((sTemp = in.readLine()) != null ) { //sTemp行缓冲sbTemp.append(sTemp + "\n"); //sbTemp文件缓冲}} catch (IOException e2) {e2.printStackTrace();}try {in.close();} catch (IOException e3) {e3.printStackTrace();}}return (sbTemp.toString());}// 保存文件void fileSave() {fileSaveAs();}String fileSaveAs() {// 设置普通参数JFrame dialogFrame = new JFrame(); // 弹出窗口StringBuffer filePath = new StringBuffer(""); // 文件路径// 设置保存文件的扩展名开始JFileChooser c = new JFileChooser();ExampleFileFilter filter = new ExampleFileFilter();filter.addExtension("txt");filter.setDescription("文本文件");c.setFileFilter(filter);// 设置保存文件的扩展名结束int rVal = c.showSaveDialog(dialogFrame);if(rVal == JFileChooser.APPROVE_OPTION) {filePath.append(c.getSelectedFile().getPath());}/** 判断:* 如果保存文件的时候没有指示文件扩展名,则自动指示为.txt。
课程设计报告课程名称:面向对象程序设计题目名称:记事本学生姓名:学号:专业班级:指导教师:目录一.前言--------------------------------------------------3 二.课程设计目的与任务-------------------------------4三.课程设计内容---------------------------------------41.记事本主要内容-------------------------------------42.设计思想--------------------------------------------43.主要构架--------------------------------------------44.流程图----------------------------------------------55.核心模块------------------------------------------ 56.文件菜单的各个功能------------------------------ 67.使用说明--------------------------------------------68.设计及分析------------------------------------------79.设计总节----------------------------------------- ---8四.附录--------------------------- ----------------------8 1打开的源码---------------------------------------------82保存的源码---------------------------------------------8五.主要参考资料----------------------------------------9前言Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。
记事本程序设计报告# 记事本程序设计报告## 1. 引言记事本是一种常见的应用程序,用于记录和编辑文本信息。
为了满足用户对简单、方便、实用的需求,我们设计并开发了一款记事本程序。
本报告将详细介绍该程序的需求分析、设计思路和实现细节。
## 2. 需求分析根据用户需求,我们总结了以下功能需求:1. 创建新的文档。
2. 打开已有文档。
3. 保存当前文档。
4. 另存为新的文档。
5. 编辑文档内容。
6. 查找和替换文本。
7. 设置字体、字号和颜色。
8. 撤销和恢复操作。
9. 剪切、复制和粘贴文本。
10. 统计字数和行数。
11. 退出程序。
## 3. 设计思路我们采用面向对象的设计思路,将程序划分为以下几个模块:1. 用户界面模块:负责显示程序的主界面和与用户的交互。
2. 文件管理模块:负责文件的创建、打开、保存和另存为等操作。
3. 文本编辑模块:负责文本的编辑、查找和替换等操作。
4. 格式设置模块:负责字体、字号和颜色的设置。
5. 撤销和恢复模块:负责撤销和恢复操作。
6. 剪切、复制和粘贴模块:负责剪切、复制和粘贴文本。
7. 统计模块:负责统计字数和行数。
8. 退出模块:负责程序的退出。
## 4. 实现细节在具体实现过程中,我们使用了以下技术和工具:- 编程语言:我们选择使用Java语言进行程序开发。
- GUI框架:我们使用Java Swing作为程序的图形用户界面。
- 数据结构:我们使用字符串和列表等数据结构来管理文本。
- 文件管理:我们使用Java的文件管理类实现文件的创建、打开、保存和另存为等操作。
- 撤销和恢复:我们使用栈数据结构来实现撤销和恢复操作。
- 统计功能:我们通过遍历字符串来统计其中的字数和行数。
## 5. 测试与优化在开发过程中,我们进行了多次测试,确保程序的稳定性和准确性。
根据测试结果,我们进行了一些优化措施,包括:- 界面优化:通过调整布局和样式,使界面更加美观和易用。
- 性能优化:对于一些耗时操作,我们进行了优化,以提高程序的响应速度。
c 记事本课程设计结论一、教学目标本课程旨在让学生掌握C记事本的基本知识和操作技能,培养他们记录、整理和分享信息的能力。
具体目标如下:1.知识目标:学生能理解C记事本的界面布局、功能特点和基本操作方法;了解文本编辑、格式设置、插入图片等常见操作。
2.技能目标:学生能熟练使用C记事本进行文本编辑,掌握字体设置、段落格式化、插入图片等操作;能运用C记事本进行资料整理和分享。
3.情感态度价值观目标:学生培养对信息技术的学习兴趣,提高信息素养,增强数字化时代的适应能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.C记事本的界面布局和功能介绍:介绍C记事本的各个标签页、工具栏以及功能按钮的作用。
2.文本编辑操作:教授字体设置、颜色更改、对齐方式、行间距等文本编辑技巧。
3.格式设置:讲解段落格式化、项目符号、编号、插入分页等格式设置方法。
4.插入图片和多媒体:教授如何在C记事本中插入图片、音频和视频等多媒体资源。
5.文件管理:介绍文件的新建、保存、打开、关闭等基本操作,以及文件格式的转换。
6.协作与分享:讲解如何与他人协作编辑同一文档,以及如何将文档分享给他人。
三、教学方法为了提高教学效果,我们将采用以下教学方法:1.讲授法:教师讲解C记事本的基本概念、操作方法和技巧。
2.案例分析法:通过分析实际案例,让学生学会解决实际问题。
3.实验法:学生动手实践,操作C记事本进行文本编辑和格式设置等。
4.小组讨论法:学生分组讨论,分享学习心得,互相促进。
四、教学资源为了支持教学,我们将准备以下教学资源:1.教材:选用权威、实用的C记事本教材,为学生提供系统的学习材料。
2.参考书:提供相关领域的参考书籍,拓展学生的知识面。
3.多媒体资料:制作精美的PPT、教学视频等,提高学生的学习兴趣。
4.实验设备:为学生提供充足的计算机设备,确保实践教学的顺利进行。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,占总评的20%。
衡阳师范学院《面向对象程序设计(VC++)》课程设计报告题目:记事本程序班级:1101学号:11190112 11190127 11190115作者姓名:付娜舒浪黄莹融指导教师:陈琼2012年6月目录1设计题目与要求 (3)1.1实验目的 (3)1.2设计要求 (3)1.3 初始条件 (3)2总体设计思想及相关知识 (3)2.1总体设计思想 (3)2.2 临界区互斥编程原理 (3)2.3开发环境与工具 (4)3有关方法及模块说明 (4)3.1 文档类方法 (4)3.2视图类方法 (5)3.3文档的建立、打开或保存 (5)4源程序代码 (6)5测试及结果 (10)6总结 (11)7小组成员任务分配 (13)参考文献 (14)1.设计题目与要求1.1实验目的通过对记事本程序的设计编写,深入了解和掌握MFC原理与方法。
1.2设计要求设计一个方便、美观的记事本程序,具有编辑文本、实现字数统计、设置背景/前景颜色等功能。
1.3 初始条件(1)操作系统:MFC AppWizard 应用程序(2)程序设计语言:C++(3)在原有菜单的基础上增加新功能菜单2.总体设计思想及相关知识2.1总体设计思想记事本在电脑中有很大的作用。
可以储存文字信息,在利用小空间的情况下,记事本是个很好的选择。
设计一个程序,使用MFC AppWizard创建基于SDI项目NotePad的应用程序框架。
创建背景颜色、字体等对话框,添加菜单项,利用MFC应用程序类向导对消息映射进行管理,再添加代码,完成程序设计。
主要用到的主要是文档类与视图类的结合。
2.2 MFC应用程序原理MFC提供了一个标准化的程序框架和实现基本功能的类。
它生成一般的应用程序所需要的基本骨架,定制了程序的结构和源代码。
MFC能够简化大部分Windows API的使用。
MFC采用了API中的一些功能,例如窗口管理、图形输出或消息路由选择,并利用对程序更有好处的C++类进行封装,使之更易于使用。
记事本课程设计结论一、教学目标本课程的教学目标是让学生掌握记事本的基本使用方法,学会如何记录和整理日常生活中的重要信息。
具体来说,知识目标包括了解记事本的界面布局、功能按钮及其作用;技能目标包括能够熟练使用记事本进行文字录入、编辑、格式设置等操作;情感态度价值观目标则是培养学生的信息整理能力和高效工作的习惯。
二、教学内容根据课程目标,教学内容主要包括记事本的安装与启动、界面认识、基本操作、高级功能以及信息整理技巧。
具体到教材,我们将学习第1章至第5章的内容,包括记事本的安装与启动、界面布局、文字录入与编辑、格式设置、快捷键使用、自定义记事本等。
三、教学方法为了达到课程目标,我们将采用多种教学方法,如讲授法、实践操作法、小组讨论法等。
讲授法用于讲解记事本的基本概念和操作方法,实践操作法让学生亲自操作记事本进行实践,小组讨论法用于讨论和分享学习心得和技巧。
四、教学资源我们将使用教材《记事本使用手册》作为主要教学资源,同时配备电脑、投影仪等设备进行实践操作。
此外,还会提供一些参考资料和视频教程,供学生课后自主学习和参考。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。
平时表现主要评估学生的课堂参与度和操作实践能力,作业则主要评估学生的理论知识掌握和应用能力,考试则全面评估学生的知识水平和操作技能。
我们将采用客观、公正的评分标准,全面反映学生的学习成果。
六、教学安排本课程的教学安排将在每周的一、三、五下午进行,每次课程时长为2小时,共计12周,共24个学时。
教学地点设在学校计算机实验室。
教学进度将按照教材的章节进行,确保在有限的时间内完成教学任务。
同时,我们会考虑学生的实际情况和需要,调整教学时间和内容。
七、差异化教学我们将根据学生的不同学习风格、兴趣和能力水平,设计差异化的教学活动和评估方式。
对于学习风格偏向实践操作的学生,我们将增加实践操作的时间和难度;对于学习风格偏向理论学习的学生,我们将提供更多的理论知识和案例分析。
软件项目实训I报告题目:记事本设计专业软件工程(NIIT)学生姓名班级学号指导教师指导单位计算机学院/软件学院日期2014年11月12日评分细则评分项总分评分平时表现(20%)遵守机房规章制度10上机时的表现10软件设计及其实现(60%)团队合作精神10程序准备情况10程序设计能力15软件设计合理性15软件功能实现情况10报告(20%)报告书写规范程度 5内容详实程度10文字表达熟练程度 5评分等级总评分备注评分等级有五种:优秀、良好、中等、及格、不及格课题题目记事本设计一、课题概述由于windows操作系统中记事本程序功能比较少,所以在提高组员实际操作能力的前提下选择该课题,完善记事本功能,打开.rtf和.txt文件。
实现类似windows操作系统中的记事本程序,并添加部分功能,尝试使textbox和richtextbox两个控件分别对文本内容进行操作。
程序功能:(1)包含类似Windows操作系统中记事本的功能;(2)能够设置字体颜色。
(3)添加工具栏,实现可隐藏(4)修改状态栏,添加内容:鼠标坐标,当前日期及时间小组成员:具体分工:Xx:实现“打开”、“查看”、“帮助”三个子菜单下所有功能以及使用textbox控件时“编辑”子菜单下“查找下一个”的实现。
Xx:完成使用Richtextbox控件时“编辑”、“格式”两个子菜单下所有功能的实现。
Xx:完成使用textbox控件时“编辑”、“格式”两个子菜单下所有功能的实现。
二、设计与实现--------xx-----开始--------------------------------------------------------------------------------------使用textbox控件(1)“文件”子菜单该菜单下的“新建”、“打开”、“退出”都按照以下流程图来实现,具体函数在“新建”事件处理函数中呈现,针对不同操作的部分会有修改public bool saveflag = false;//定义全局变量saveflag,用来标记文本是否保存过加载文件函数public void LoadInfo(string path)//载入文件参数(获取文件路径){string filePath = path;savePath = filePath;//savePath为全局变量,获取保存文件路径StreamReader fm = new StreamReader(filePath, System.Text.Encoding.Default);//创建读文本流对象this.Text = Path.GetFileName(filePath);//设定当前记事本标题栏显示所打开文件的文件名txtEdit.Text = fm.ReadToEnd();//读取文件流数据到记事本编辑框中fm.Close();//释放文件流}另存为函数public void SaveInfo(string pat)//另保存{string filePath = Path.GetFullPath(pat);//获取保存文件的路径全称savePath = filePath;//savePath为全局变量,获取保存文件路径StreamWriter sw=new StreamWriter (filePath,false,Encoding.Default);//创建写文件流对象sw.Write(txtEdit.Text);//将编辑框内文本信息写入制定的文件流内sw.Close();//释放文件流saveflag = true;//标记已经保存}直接保存函数public void Save2Info()//直接保存方法{StreamWriter sw = new StreamWriter(savePath, false, Encoding.Default);//创建写文件流对象sw.Write(txtEdit.Text);//将编辑框内文本信息写入制定的文件流内sw.Close();//释放文件流saveflag = true;//标记已经保存}Textbox内容改变事件处理函数private void txtEdit_TextChanged(object sender, EventArgs e){saveflag = false;//如果内容改变,saveflag标记为false,表示文件未保存}“新建”菜单项事件处理函数private void tsmiNew_Click(object sender, EventArgs e)//“新建”事件{if (!saveflag&&txtEdit.Modified) //判断文件有没有保存过,如果没有保存则提示保存{DialogResult result = MessageBox.Show("文件" + Text + "内容已经改变\n\n是否要保存文件?", "记事本", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);if (string.Equals(result, DialogResult.Yes))//判断文本单击弹出框,点击确认才执行下列代码{if (string.Equals(this.Text, "无标题-记事本"))//判断当前文本文件是否存在,如果不存在,提示保存后再新建{if (txtEdit.Text != "") //如果当前记事本编辑器窗口内容不为空,提示用户保存,若为空不做操作{SaveFileDialog save = new SaveFileDialog(); //创建保存对话框对象save.Filter = "文本文件|*.txt;*.text"; //设置保存的格式if (save.ShowDialog() == DialogResult.OK) //打开保存对话框,判断是否按下确定按钮{SaveInfo(save.FileName); // 调用自定义保存方法txtEdit.Text = ""; //清空编辑框this.Text = "无标题-记事本"; //更改当前记事本标题栏信息无标题-记事本}}}else//如果当前文本文件存在则直接保存然后新建{Save2Info();txtEdit.Text = "";this.Text = "无标题-记事本";}}else if (string.Equals(result, DialogResult.Cancel)) //点击取消按钮,无操作{}else if (string.Equals(result, DialogResult.No))//判断是否按下不保存按钮{txtEdit.Text = "";this.Text = "无标题-记事本";}}else//如果文件已经保存则直接新建{txtEdit.Text = "";this.Text = "无标题-记事本";}}“保存”事件处理函数bool newtxt = true;//设定一个标记判断要不要执行打开文件命令当判断当前文本为空时,调用完SaveInfo(save.FileName); 后添加一条语句this.Text = Path.GetFileName(savePath); //设置记事本标题信息为当前打开文件名保存完原文本后打开新的文本文件if (newtxt)//检查执行标记,若为true则执行打开文件命令{OpenFileDialog open = new OpenFileDialog();//创建打开文件对话框对象open.Filter = "文本文件|*.txt;*.text";//设置打开文件格式if (open.ShowDialog() == DialogResult.OK)//判断文件对话框是否按下确认键{LoadInfo(open.FileName);}}“退出”事件处理函数基本结构和以上两个函数相同,仅是添加对应的命令操作Environment.Exit(0);//终止此进程并为基础操作系统提供指定的退出代码。
调用此方法,应用程序即强制退出。
主窗口Form_Closing事件处理函数与“退出”事件处理函数内容基本一致,但是采用 e.Cancel = false;和e.Cancel = true;在Form的Closing事件中,参数CancelEventArgs的Cancel如果为True的话,将使Form不会关闭,如果为False则Form才会正常的关闭.在不需要保存的情况时执行Application.Exit();通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。
“保存”事件处理函数private void tsmiSave_Click(object sender, EventArgs e){if (!saveflag&&txtEdit.Modified) //判断是否修改并已经保存{SaveFileDialog save = new SaveFileDialog();if (string.Equals(this.Text, "无标题-记事本"))//判断是新建记事本还是已经存在的记事本{save.Filter = "文本文件|*.txt;*.text";if (save.ShowDialog() == DialogResult.OK){SaveInfo(save.FileName);this.Text = Path.GetFileName(savePath);//设置记事本标题信息为当前打开文件名}}else//如果文件已存在就直接保存{Save2Info();}}}“另存为”事件处理函数private void tsmiSaveAs_Click(object sender, EventArgs e)//另存为函数{SaveFileDialog save = new SaveFileDialog();save.Filter = "文本文件|*.txt;*.text";if (save.ShowDialog() == DialogResult.OK){SaveInfo(save.FileName);//调用函数SaveInfo,其中保存对话框的文件路径名为实参}}(2)“查看”子菜单状态栏工具栏该菜单下主要是状态栏和工具栏,都可实现隐藏添加statusStrip 控件,添加三个均为ToolStripStatusLabel的Item,name属性分别为slblXY、slblSpring、slblTime,其中将slblSpring 的spring 属性修改为true。