实验八_电子记事本的设计与实现
java记事本实验报告
![java记事本实验报告](https://img.taocdn.com/s3/m/3245677b0b4c2e3f572763ad.png)
期末考查大作业任务书课程名称:Java语言程序设计设计实验题目:简单记事本的设计与实现学院:管理学院系:信息管理系专业班级:学号:学生姓名:起讫日期:2015-09-01至2015-12-31课任教师:郭路生学院审核(签名):审核日期:精选文库一、实验内容完成一个简单的记事本程序。
二、实验要求1. 实现一个记事本窗口,能够处理关闭处理窗口事件。
2. 记事本可进行文本编辑3.记事本具有菜单。
4. 具有保存和打开功能。
5. 具有字体大小、风格等功能6. 具有复制、粘贴功能(可选项)三、主要仪器设备及耗材计算机、eclipse四、主要参考资料1. 网络教学台平教材材料列出的资料2. 教材及实验指导3. 老师演示的视频4. 网络上相关资料五、实验步骤1、程序代码截图精选文库精选文库程序源代码(文本版)import java.awt.event.*;import java.awt.*;import java.io.*;import javax.swing.*;public class MyJnp extends Frame implements ActionListener{ //主界面设置Menu wenjian = new Menu("文件");Menu geshi = new Menu("格式");Menu help = new Menu("帮助");MenuBar bar = new MenuBar();MenuItem dakai = new MenuItem("打开");MenuItem xinjian = new MenuItem("新建");MenuItem baocun = new MenuItem("保存");MenuItem tuichu = new MenuItem("退出");MenuItem zitixuanz= new MenuItem("字体选择");MenuItem lingcunwei = new MenuItem("另存为");MenuItem guanyu = new MenuItem("关于记事本");TextArea bianjiqu = new TextArea();public MyJnp(){super("记事本");bar.add(wenjian);bar.add(geshi);bar.add(help);wenjian.add(xinjian);wenjian.add(dakai);wenjian.add(baocun);wenjian.add(lingcunwei);wenjian.add(tuichu);geshi.add(zitixuanz);help.add(guanyu);add(bianjiqu);setMenuBar(bar);setVisible(true);setBounds(200,100,800,600);addWindowListener(new WindowAdapter(){ public voidwindowClosing(WindowEvent e){System.exit(0); }});}精选文库String path;public void addActionListener() //添加事件监听{dakai.addActionListener(this);tuichu.addActionListener(this);xinjian.addActionListener(this);baocun.addActionListener(this);lingcunwei.addActionListener(this);guanyu.addActionListener(this);zitixuanz.addActionListener(this);}public void actionPerformed(ActionEvent e) //事件处理{if(e.getSource()== tuichu)System.exit(0);else if(e.getSource()==dakai){dakaiwenjian temp = new dakaiwenjian();bianjiqu.setText(temp.getData());}else if(e.getSource()==xinjian){bianjiqu.setText("");path=null;}else if(e.getSource()== baocun){if(path==null){String s = bianjiqu.getText();baocunwenjian wen = new baocunwenjian();wen.saveData(s);path=wen.getPath();}else{baoc bao = new baoc(path);String s = bianjiqu.getText();bao.saveData(s);}}else if(e.getSource()==guanyu){JOptionPane.showMessageDialog(null, "信管131班 6104113035 郝君","帮助", RMATION_MESSAGE);}else if(e.getSource()==lingcunwei){String s = bianjiqu.getText();new baocunwenjian().saveData(s);}else if(e.getSource()==zitixuanz){new ziti(bianjiqu);}}public static void main(String[] args){new MyJnp().addActionListener();}}class dakaiwenjian{ //打开文件得到字符串并在getData方法中返回字符串BufferedReader temp;String data="";public dakaiwenjian(){try{FileDialog s = new FileDialog(new Frame(),"打开",FileDialog.LOAD); s.setVisible(true);String path1 =s.getDirectory()+"\\"+s.getFile();temp = new BufferedReader(new FileReader(path1));String aline;while((aline=temp.readLine())!=null)data= data+aline+'\n';temp.close();}catch(Exception e ){System.out.println("打开失败");}}public String getData(){return data;}}class baocunwenjian{ //第一次保存和另存为调用的类BufferedWriter bw ;String teamp;public baocunwenjian(){try{FileDialog s = new FileDialog(new Frame(),"保存",FileDialog.SAVE); s.setVisible(true);teamp= s.getDirectory()+s.getFile();bw= new BufferedWriter(new FileWriter(teamp));}catch(Exception e){System.out.println("保存失败");}}public String getPath(){return teamp;}public void saveData(String temp1){try{bw.write(temp1);bw.close();}catch(Exception e){System.out.println("保存失败");}}}class baoc { //多次保存类BufferedWriter bw ;String teamp;public baoc(String teamp){try{this.teamp= teamp;bw= new BufferedWriter(new FileWriter(teamp));}catch(Exception e){System.out.println("保存失败");}}public void saveData(String temp1){try{bw.write(temp1);bw.close();}catch(Exception e){System.out.println("保存失败");}}}精选文库class ziti extends Dialog implementsActionListener{ //字体设置类int sty=0;int size=0;Label ys ;Label sz;Panel pan1 = new Panel();Panel pan2 = new Panel();TextField yangshi ;TextField daxiao;Font s;Button queding ;TextArea ta;public ziti(TextArea ta){super(new Frame(),"字体设置");this.ta=ta;queding= new Button("确定");yangshi= new TextField(5);daxiao = new TextField(5);ys = new Label("样式:(请输入正整数)");sz = new Label("大小:(请输入正整数)");pan1.add(ys);pan1.add(yangshi);pan2.add(sz);pan2.add(daxiao);pan2.add(queding);add(pan1,BorderLayout.NORTH);add(pan2,BorderLayout.SOUTH);queding.addActionListener(this);setVisible(true);setBounds(200,200,300,100);setResizable(false);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){ziti.this.dispose();}});}public void actionPerformed(ActionEvente ){ //字体设置处理String k;if(e.getSource()==queding){精选文库if((k=yangshi.getText())!=null){sty=Integer.valueOf(k);}if((k=daxiao.getText())!=null){size= Integer.valueOf(k);}if(sty>=0&&sty<=100&&size>=0&&size<=100){s = new Font("myfont",sty,size);ta.setFont(s);}ziti.this.dispose();}}}2、程序运行截图(1)运行软件记事本能够处理关闭处理窗口事件精选文库记事本中可以进行文本编辑,达成要求2记事本拥有菜单,完成要求3文件选项中有保存和打开将文件保存为文件一打开文件一具有打开和保存的功能完成要求4点击格式-字体选项样式输入1,大小输入30,字体如下样式输入2,大小输入50,字体如下完成要求具有字体大小、风格等功能,完成要求5六、思考讨论题或体会或对改进实验的建议具有复制、粘贴功能这个要求我没有实现,最近临近期末,事情实在是有点多,时间实在是不够了,所以我在尝试了修改以后发现没有实现功能,就放弃了制作。
C_实验-记事本(带源码)
![C_实验-记事本(带源码)](https://img.taocdn.com/s3/m/9d548bda195f312b3169a550.png)
记事本实验报告一、实验目的创建一个Windows窗体应用程序,实现记事本的基本功能,具体包括新建文件、打开文件、保存文件、查找等功能。
该实验的目的是掌握:(一)窗体程序的开发(二)常用控件的使用(三)常用事件的处理(四)对话框的设计和使用(五)文件访问的基本方法二、实验内容(一)主窗口Form1图1 主窗口主窗口界面如图1所示,功能包括基本编辑操作、主菜单和其它快捷键功能。
1、编辑功能用文本框实现。
2、窗口标题与文件名相一致。
未打开文件时为“无标题”,打开文件(另存为)后为文件名。
3、支持菜单的热键和快捷键。
二者的区别是前者是激活菜单且显示出该菜单项时有效,后者在任何时候有效。
4、实现新建、打开、保存和查找功能。
5、支持F3(查找下一个)。
表1 Form1控件列表using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespace WindowsFormsApplication1{public partial class Form1 : Form{public Form2 fm2 = null;public string searchText = "";public Form1(){InitializeComponent();}private void saveFile(){if (textBox1.Text.Length > 0 && textBox1.Modified) {if (MessageBox.Show("想保存文件吗?", "记事本",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Warning) == DialogResult.Yes){SaveFileDialog d = new SaveFileDialog();d.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";if (d.ShowDialog() == DialogResult.OK){FileStream fs = File.OpenWrite(d.FileName);StreamWriter sr = new StreamWriter(fs);sr.Write(textBox1.Text);sr.Flush();fs.Close();}}}}private void文件NToolStripMenuItem_Click(object sender, EventArgs e) {saveFile();textBox1.Text = "";Text = "无标题 - 记事本";}private void OpenFile(){OpenFileDialog d = new OpenFileDialog();d.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";if (d.ShowDialog() == DialogResult.OK){FileStream fs = File.OpenRead(d.FileName);StreamReader sr = new StreamReader(fs);string s;string s1 = "";while ((s = sr.ReadLine()) != null){s1 += s;}textBox1.Text = s1;string fname = d.FileName.Substring(stIndexOf("\\") + 1);Text = fname + " - 记事本";}}private void打开OToolStripMenuItem_Click(object sender, EventArgs e) {saveFile();OpenFile();}private void保存SToolStripMenuItem_Click(object sender, EventArgs e) {saveFile();}private void查找FToolStripMenuItem_Click(object sender, EventArgs e) {if (fm2 == null){fm2 = new Form2();fm2.fm1 = this;Form2.textBox2 = textBox1;fm2.Show();}elsefm2.Activate();}private void textBox1_KeyDown(object sender, KeyEventArgs e){if (e.KeyCode == Keys.A && e.Control && !e.Shift && !e.Alt){textBox1.SelectAll();e.Handled = true;}else if (e.KeyCode == Keys.F3 && !e.Control && !e.Shift && !e.Alt) {Form2.findNext();}}}}(二)查找对话框图2 查找对话框查找对话框的界面(图2)与记事本的相同。
记事本设计课程设计
![记事本设计课程设计](https://img.taocdn.com/s3/m/c71aaefa294ac850ad02de80d4d8d15abf230069.png)
记事本设计课程设计一、教学目标本课程旨在通过记事本的设计与实现,让学生掌握软件开发的基本流程,培养学生分析问题和解决问题的能力。
具体目标如下:知识目标:使学生了解软件开发的基本概念、方法和工具,掌握记事本的基本功能和实现方法。
技能目标:培养学生使用编程语言实现简单软件功能的能力,提高学生的软件设计能力和团队合作能力。
情感态度价值观目标:培养学生对软件开发的兴趣,增强学生自主学习和创新的意识,培养学生团队合作和分享的价值观。
二、教学内容本课程的教学内容主要包括软件开发的基本概念、记事本的基本功能和实现方法、编程语言的基本语法和编程技巧。
具体安排如下:1.软件开发的基本概念和方法:介绍软件开发的生命周期、需求分析、设计、编码、测试和维护等内容。
2.记事本的基本功能和实现方法:介绍记事本的主要功能模块,如文本编辑、字体设置、撤销和重做等,并讲解各功能模块的实现方法。
3.编程语言的基本语法和编程技巧:以某编程语言为例,讲解基本语法、数据结构、控制流程和函数等内容,并通过实例让学生动手编写代码。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等。
1.讲授法:讲解软件开发的基本概念、方法和记事本的基本功能。
2.讨论法:学生就特定问题进行讨论,培养学生的思考和表达能力。
3.案例分析法:分析实际案例,让学生了解记事本的设计和实现过程。
4.实验法:让学生动手编写代码,实现记事本的基本功能。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供全面、系统的学习材料。
2.参考书:推荐学生阅读相关参考书籍,拓宽知识面。
3.多媒体资料:制作课件、视频等多媒体资料,提高课堂教学效果。
4.实验设备:准备计算机等实验设备,确保学生能顺利进行实验操作。
五、教学评估为了全面、客观、公正地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、讨论表现等,评估学生的学习态度和理解能力。
简单记事本课程设计说明书
![简单记事本课程设计说明书](https://img.taocdn.com/s3/m/23faf4e4524de518964b7d22.png)
简单记事本系统院(系)名称信息工程学院专业班级 2010级计算机科学与技术(嵌入式方向)学号学生姓名指导教师2010年 5 月 30日简单记事本的设计与实现摘要随着科学技术的快速发展,计算机程序设计早已成为了趋势,JAVA是计算机专业的核心课程,是计算机的算法理论基础和软件设计的基础。
JAVA是实践性很强的课程。
课程设计是加强实践能力的一个强有力手段。
要求掌握JAVA的应用、编写、上机调试的基本方法。
本次课程设计实现了一个简单记事本系统所需的功能,以及具体的设计步骤。
该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,能实现编辑、保存、另存为、查找替换等功能等功能。
该程序主要用到了Java swing和事件监听等在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少,所以选择了适合初学者使用的JCreator开发工具。
关键词:java , Java swing,事件监听,简单记事本目录1 绪论 (1)1.1研究背景 (1)1.2开发意义 (1)2 记事本程序需求分析 (2)2.1功能分析 (2)2.2设计目标 (2)2.3开发及运行环境 (2)3 系统概要设计 (3)4 系统模块详细设计 (4)4.1系统主模块 (4)4.2文件菜单模块 (6)4.2.1 打开菜单 (7)4.2.2 保存菜单 (8)4.3编辑菜单模块 (9)4.4查找菜单模块 (10)4.4.1 查找菜单 (10)4.4.2 查找替换菜单 (11)5 系统运行与测试 (12)5.1系统调试 (12)5.2测试与运行 (12)5.2.1 测试的目的 (12)5.2.2 测试的原则 (13)5.2.3 测试的内容 (14)5.2.4 测试用例 (15)5.3测试结论 (15)结论 (16)参考资料 (16)程序任务分工 (16)1 绪论1.1 研究背景传统记事本存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。
c语言课设实验报告-记事本程序(含源码)
![c语言课设实验报告-记事本程序(含源码)](https://img.taocdn.com/s3/m/148ee7d0ac51f01dc281e53a580216fc700a53a0.png)
C语言课设实验报告[记事本程序]班级:学号:姓名:指导老师:C语言课设实验报告#define key_down 80#define key_up 72#define key_esc 1#define key_alt_f 33#define key_alt_x 45#define key_enter 28#define key_alt_e 18int get_key();void box(int startx,int stary,int high,int width);{int i,key,x,y,l;char *w=NULL,*d=NULL,*s=NULL;FILE *fp;char *menu[]={ "File ", "Edit ","Format","View","Help"};char *red[]={ "F", "E","F","V","H"};char *f[]={ "New ", "Open" , "Save", "Another","Quit alt_x"};char *e[]={"Search","Search next","Replace","Date"};char buf[16*10*2],buf1[16*2];textbackground(3);clrscr();window(1,1,80,1);textbackground(WHITE);textcolor(BLUE);clrscr();window(1,1,80,2);for(i=0, l=0; i <5;i++){x=wherex();y=wherey();textcolor(BLACK);cprintf( " %s ",menu[i]);l=strlen(menu[i]);gotoxy(x,y); x.y等的头文件*//*功能键的扫描码的定义*//* i为循环次数的序数,key为从键盘输入的功能键,x,y 为光标的坐标,l为菜单栏中菜单的字符长度*//*w是存放输入的内容(记录的事情)的指针,*s是存放输入的文件名的指针,*d是存放输入要定时的文件的文件名的指针*/ /*菜单栏中各个菜单的定义*//*菜单栏中菜单开头要标颜色的字母的定义*//* file 子菜单中项目的定义*//*edit子菜单的定义*/ /*缓冲区的定义*//*整个大窗口的背景颜色设置*//*创建菜单栏窗口*/ /*设置菜单栏窗口背景颜色为白色,字体颜色为蓝色*//*利用循环输出menu菜单栏,有多少个菜单循环多少次。
记事本实验报告(3篇)
![记事本实验报告(3篇)](https://img.taocdn.com/s3/m/09af644159fb770bf78a6529647d27284a733716.png)
第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)与其他应用程序协作方便。
C#记事本的实现实验报告
![C#记事本的实现实验报告](https://img.taocdn.com/s3/m/3e7d69284b73f242336c5f05.png)
集美大学计算机工程学院实验报告课程名称:C#程序设计班级:计算0711实验成绩:指导教师:陈杰姓名:黄燕平实验项目名称:记事本实现学号:2007810020上机实践日期:2010.5.25实验项目编号:实验三组号:上机实践时间:学时一、目的(本次实验所涉及并要求掌握的知识点)1.通过实验掌握windows程序设计的基础,以及常见windows控件的使用;2.学习掌握记事本实现的思想以及编程方法;二、实验内容与设计思想(设计思路、主要数据结构、主要代码结构、主要代码段分析、电路图等)实现记事本的Window运用程序,其功能能够实现记事本的功能(可参见Window 附件中的记事本基本格式);三、实验使用环境(本次实验所使用的平台和相关软件)Windows操作系统Microsoft Visual Studio 2008编程软件四、实验步骤和调试过程(实验步骤、测试数据设计、测试结果分析)记事本的实现:设计过程主要通过运用Window工具,利用MenuStrip工具设计主要的功能格式,之后再通过RichTextBox工具设置所要实现的记事本的编辑框,作为输入输出时用(设置时为了提高实用性要求其在父容器中停靠);最后就是对照相应的控件进行相应的编程。
其实现代码如下:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication6{public partial class Form1 : Form{public Form1(){InitializeComponent();richTextBox1.Text = ""; //*初始化编辑文本框为空;}private void退出ToolStripMenuItem_Click(object sender, EventArgs e){Application.Exit();}private void新建ToolStripMenuItem_Click(object sender, EventArgs e){this.richTextBox1.Text = "";}private void打开ToolStripMenuItem_Click(object sender, EventArgs e){OpenFileDialog openFile = new OpenFileDialog();openFile.Filter = "Text file(*.txt)|*.txt|Word(*.doc)|*.doc"; //*实现的文本编辑器只识别文本格式以及Word格式openFile.FilterIndex = 1;openFile.DefaultExt = "txt";openFile.Multiselect = false;string strFileName = openFile.FileName;if (openFile.ShowDialog() == DialogResult.OK) //*当用户单击打开选择了要打开的文本后,点击OK后,则获取所打开文本的名字,并读取其文本内容 {this.Text = openFile.FileName;richTextBox1.LoadFile(openFile.FileName, RichTextBoxStreamType.PlainText);}else{}}private void richTextBox1_TextChanged(object sender, EventArgs e){}private void剪切ToolStripMenuItem_Click(object sender, EventArgs e){if (richTextBox1.SelectedText != "") //*判断当有选择内容时,则可进行剪切{richTextBox1.Cut();}}private void撤销ToolStripMenuItem_Click(object sender, EventArgs e){if (richTextBox1.CanUndo == true){richTextBox1.Undo();}}private void复制ToolStripMenuItem_Click(object sender, EventArgs e){if (richTextBox1.SelectedText != ""){richTextBox1.Copy();}}private void粘贴ToolStripMenuItem_Click(object sender, EventArgs e){richTextBox1.Paste();}private void删除ToolStripMenuItem_Click(object sender, EventArgs e){if (richTextBox1.SelectedText != ""){richTextBox1.SelectedText.Remove(1, richTextBox1.SelectionLength);}}private void Form1_Load(object sender, EventArgs e){}private void保存ToolStripMenuItem_Click(object sender, EventArgs e){SaveFileDialog SaveFD = new SaveFileDialog();SaveFD.InitialDirectory = @"D:\"; //*文件的默认路径是D:盘SaveFD.Filter = "Text file(*.txt)|*.txt|Word(*.doc)|*.doc";SaveFD.FileName = "new Text"; //*设置保存时默认的文件名new FileSaveFD.OverwritePrompt = true;if (SaveFD.ShowDialog() == DialogResult.OK){//*单击保存后,若选择Ok后,则调用SaveFile函数将文本的内容加入到默认名为new File的文件中//richTextBox1.SaveFile(richTextBox1.Text);richTextBox1.SaveFile(SaveFD.FileName, RichTextBoxStreamType.PlainText);}}//*另存为的文本默认路径为D:盘,除了没有默认名字外,其余的基本跟保存的按键代码相似private void另存为ToolStripMenuItem_Click(object sender, EventArgs e){SaveFileDialog SaveAsFD = new SaveFileDialog();SaveAsFD.InitialDirectory = @"D:\";SaveAsFD.Filter = "Text file(*.txt)|*.txt|Word(*.doc)|*.doc";SaveAsFD.OverwritePrompt = true;if (SaveAsFD.ShowDialog() == DialogResult.OK){richTextBox1.SaveFile(SaveAsFD.FileName, RichTextBoxStreamType.PlainText);}}private void退出ToolStripMenuItem_Click_1(object sender, EventArgs e){Application.Exit();}private void自动换行ToolStripMenuItem_Click(object sender, EventArgs e){}private void字体ToolStripMenuItem_Click(object sender, EventArgs e){FontDialog fontDialog = new FontDialog();fontDialog.ShowColor = true; //*设置显示字体的颜色fontDialog.AllowScriptChange = true; //*设置可选字符集fontDialog.AllowVectorFonts = true; //*设置可选的矢量字体fontDialog.ShowEffects = true; //*设置可选字体的效果,如下划线等if (fontDialog.ShowDialog() == DialogResult.OK){ //*单击OK后,则对文本框中字体以及颜色作出改变richTextBox1.Font = fontDialog.Font;richTextBox1.ForeColor = fontDialog.Color;}}}}五、实验小结(实验中遇到的问题及解决过程、实验中产生的错误及原因分析、实验体会和收获)1.本实验过后,掌握了Window工具中的MenuStript、RichTextBox的作用以及使用,利用其成功的完成了记事本的格式设计2.学习到了文本编辑器的实现方法,能够通过查询资料用代码将其实现;3.在本次文本编辑器的实现过程中,学习到了一些重要的类以及函数六、附录参考文献和相关资料。
c记事本实现课程设计
![c记事本实现课程设计](https://img.taocdn.com/s3/m/195685a1c9d376eeaeaad1f34693daef5ef713ee.png)
c 记事本实现课程设计一、课程目标知识目标:1. 让学生掌握C语言基础,包括数据类型、变量、运算符等;2. 学习使用C语言控制结构,如条件语句和循环语句;3. 理解记事本程序的功能需求,学会使用C语言实现记事本的基本功能。
技能目标:1. 培养学生运用C语言解决问题的能力,学会编写、调试和运行简单的C程序;2. 提高学生的逻辑思维能力,能够分析记事本程序的需求,进行模块化设计;3. 学会使用C语言编写文本处理功能,如读取、写入和保存文本文件。
情感态度价值观目标:1. 培养学生主动探索、积极思考的学习态度,增强学习C语言的兴趣;2. 培养学生的团队协作意识,学会在编程过程中与他人分享、讨论和解决问题;3. 引导学生认识到编程在生活中的应用价值,激发他们将编程应用于实际问题的热情。
分析课程性质、学生特点和教学要求,本课程目标将记事本实现分解为以下具体学习成果:1. 独立编写C程序,实现记事本的基本功能;2. 学会对记事本程序进行测试和优化,提高程序性能;3. 通过小组合作,共同完成一个具有附加功能的记事本程序。
二、教学内容1. C语言基础回顾:数据类型、变量、常量、运算符、表达式;2. 控制结构:条件语句(if-else、switch)、循环语句(for、while、do-while);3. 函数:函数定义、函数调用、参数传递、返回值;4. 文件操作:文件打开、读取、写入、关闭;5. 记事本功能分析:需求分析、功能模块划分;6. 编程实现记事本:文本编辑、文件保存与打开、撤销与重做功能;7. 程序测试与优化:调试技巧、性能优化;8. 附加功能扩展:格式化文本、查找与替换、字体设置等。
教学内容安排与进度:1. 第一周:C语言基础回顾,控制结构学习;2. 第二周:函数学习,文件操作介绍;3. 第三周:记事本功能分析,编写实现基础功能;4. 第四周:完善记事本程序,进行测试与优化;5. 第五周:小组合作,讨论实现附加功能,展示与评价。
记事本实验报告
![记事本实验报告](https://img.taocdn.com/s3/m/868dc151ad02de80d4d840cd.png)
一、实验目的、内容1.了解Windows编程的基础知识,掌握MFC应用程序的基本知识;2.基本掌握面向对象程序设计的基本思路和方法;3.掌握用VC++开发应用程序的一般步骤和方法;4. 本实验建立了一个MFC单文档项目,采用MFC中单文档的基类CEditView类实现了不少记事本的功能,另外自己再需添加几个功能,如:添加显示系统日期时间,改变字体大小,改变背景颜色,添加日历项,使EditSoft应用程序成为多文档程序等等。
包含的类主要有CMainFrame,CMyApp,CMyDoc,CMyView,C CalendarDlg,C TipDlg, CAboutDlg.二.设计思路本实验中因为大部分借助了系统的功能,所以实现起来较简单。
添加显示系统日期时间:在应用程序的右下角的状态栏中显示出来,用到的是CMainFrame的OnCreate函数。
改变字体大小和背景颜色:在菜单栏中可以改变字体与颜色,用到的是文档类和视图类。
应用程序添加每日提示:用到的是CTipDlg类。
添加日历项:在菜单栏的帮助中添加了日历项目,可以做到看日历的功能,用到的是C CalendarDlg类。
使EditSoft应用程序成为多文档程序: 在状态栏的左上角有新建的图标,实现的是新建一个文本对话框的功能,用到的主要是应用类。
应用程序窗口左上角标题栏上的应用程序图标动起来:图标看起来是动态的,用到的类是主框架类CMainFrame。
保存前面设置的字体颜色、背景颜色和字体大小,用到的主要是文档类与视图类。
三.代码实现1.动态图标实现的代码:void CMainFrame::LoadNewIcon(UINT nIconID){HICON hIconNew=AfxGetApp()->LoadIcon(nIconID);HICON hIconOld=(HICON)GetClassLong(m_hWnd,GCL_HICON);ASSERT(hIconNew);ASSERT(hIconOld);if(hIconNew!=hIconOld){DestroyIcon(hIconOld);SetClassLong(m_hWnd,GCL_HICON,(long)hIconNew);RedrawWindow(NULL,NULL,RDW_FRAME|RDW_ERASE|RDW_INVALIDATE);}}在主框架类的int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数中添加一个定时器。
《JAVA语言课程设计》记事本课程设计报告
![《JAVA语言课程设计》记事本课程设计报告](https://img.taocdn.com/s3/m/9322983b0b4c2e3f5727634f.png)
河南工程学院《Java语言程序设计》课程设计记事本的设计与实现学生姓名: X X X学院:计算机学院专业班级:软件工程1242专业课程:《Java语言程序设计》指导教师: X X X2014 年 6 月 13 日目录第1章系统设计目的 (1)1.1题目与要求 (1)1.2设计目的 (1)第2章系统实现思路 (2)2.1 实现思路 (2)2.2系统流程图 (3)第3章系统详细设计 (6)3.1界面设计 (6)3.2功能设计 (7)3.3功能实现 (8)第4章系统调试运行 (13)4.1界面测试 (13)4.2 功能测试 (13)第5章课程设计体会 (17)参考文献 (18)第1章系统设计目的1.1题目与要求设计一个简单的Windows记事本,可以实现以下功能: 1:文件的新建,打开,保存;2:对文件的编辑,如复制,剪切,粘贴;3:执行完操作后,能够顺利关闭记事本。
1.2设计目的1:提高对Java语言设计的掌握能力;2:理论联系实际,进一步提高学生的软件开发技术;3:培养学生分析、解决问题的能力。
第2章系统实现思路2.1 实现思路1、首先设计出整个记事本的主体框架,添加菜单栏(JMenu),添加菜单选项(JMenuItem)。
这部分应用到了JMenuBar、JMenu、JMenuItem的构造方法,实现对记事本的基本页面设计。
2、在页面中添加编辑局域,应用了JTextArea的构造方法。
3、实现各个菜单选项的功能。
在具体的功能实现中,为每一个功能设计了一个类,通过监听调用类方法实现所需要实现的功能。
4、程序中的类以及它们之间的关系:本程序总共含有8个类:Notepad()主类:他实现了记事本的基本框架构造,以及对记事本各个功能的监听,并且调用各个功能的类方法。
在Notepad()中,加入了编辑菜单的弹出菜单功能。
在Notepad()主类中,通过事件监听调用了剪切、复制、保存等功能的类方法:newActionListener():实现“新建”功能的类saveActionListener():实现“保存”功能的类openActionListener():实现“打开”功能的类exitActionListener():实现“退出”功能的类cutActionListener():实现“剪切”功能的类copyActionListener():实现“复制”功能的类pasteActionListener():实现“粘贴”功能的类aboutActionListener():实现“关于”功能的类2.2系统流程图记事本总体框架实现思路:框架内包含文件、编辑、关于三个菜单选项,文件菜单内又包括新建、打开、保存、退出功能,编辑内包括剪切、复制、粘贴功能,关于菜单内包括关于功能。
JAVA简单记事本程序设计实验报告
![JAVA简单记事本程序设计实验报告](https://img.taocdn.com/s3/m/15c03aa265ce0508763213cb.png)
实验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:功能设计对每个菜单项进行注册监听。
记事本课程设计报告
![记事本课程设计报告](https://img.taocdn.com/s3/m/a1e2cdcbd5bbfd0a79567329.png)
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); //报告指定字符在此实例中的第一个匹配项的索引。
记事本设计报告书
![记事本设计报告书](https://img.taocdn.com/s3/m/2bbfff6825c52cc58bd6bec1.png)
记事本设计报告书一、设计要求: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。
Java课程设计报告--实现记事本功能
![Java课程设计报告--实现记事本功能](https://img.taocdn.com/s3/m/e23135d36c85ec3a87c2c5da.png)
Java语言程序设计报告实现记事本功能系别:××××××姓名:×××班级:×××××××××指导老师:×××2011年6月5日目录一、摘要 (3)二、关键字: (3)三、前言 (3)四、目的: (4)五、要求: (4)六、设计分析 (4)1.概要设计 (4)1.1程序设计思路 (4)1.2模块说明图 (5)1.3程序流程图 (6)1.4程序相关说明 (6)2.程序详细设计与分析 (7)2.1.初始化组件............................................................ 错误!未定义书签。
2.2.构建菜单栏及其下拉菜单 (7)2.3.“文件”菜单的事件监听 (8)2.4.“编辑”菜单的事件监听 (9)2.5.异常处理 (9)七、测试分析 (10)八、源程序 (12)九、课程设计体会 (17)一、摘要本次课程设计的题目是用JAVA语言编写记事本程序,要求是:用图形界面实现;含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。
本程序主要用到了Java swing组件和事件监听器,还用到了文件的输入输出流。
记事本的界面参考了Windows中的记事本界面,并且根据课程设计要求做了适当的调整。
二、关键字:记事本程序;Java语言;MyEclipse三、前言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。
后来它的开发者们发现它还可以被用于更大范围的Internet上。
1995年,Java语言的名字从Oak编程了Java。
1997年J2SE1.1发布。
1998年J2SE1.2发布,标志Java2的诞生。
制作记事本(全)
![制作记事本(全)](https://img.taocdn.com/s3/m/b985818558f5f61fb73666b4.png)
记事本实验本实验介绍如何使用Visual C# 2008设计一个Windows应用程序——记事本,通过本章的学习,可以进一步掌握MenuStrip(菜单)、ToolStrip(工具栏)、RichTextBox(高级文本框)和StatusStrip(状态栏控件)等控件的使用,以及如何使用CommonDialog(公共对话框)实现对文本的存取、格式设置等操作。
1.1 记事本简介记事本是一种常用的软件,在微软的Windows中,自带了一个记事本软件,Windows XP 下的记事本软件如图1-1所示。
图1-1 Windows自带的记事本本章介绍的记事本,实现了Windows自带的记事本的部分功能外,并且还可以任意更改字体的字体类型、大小和颜色,并在状态栏中显示时间。
为了方便用户的操作,还在程序的窗体上放置了一个工具栏。
本章介绍的记事本程序具有文件的新建、打开、保存功能;文字的复制、粘贴、删除功能;字体类型、格式的设置功能;查看日期时间等功能,并且用户可以根据需要显示或者隐藏工具栏和状态栏。
接下来将详细的介绍记事本程序的设计与实现的步骤和方法。
1.2 记事本界面设计新建一个Windows应用程序,并命名为“Notepad”。
本节介绍记事本程序的界面设计以及界面上各控件的属性设置。
新建好“Notepad”项目后,定位到记事本程序的窗体设计器窗口,然后依次在窗体上放置以下控件(各1个):(1)MenuStrip(菜单控件)。
(2)ToolStrip(工具栏控件)。
(3)RichTextBox(多格式文本框控件)。
(4)StatusStrip(状态栏控件)。
(5)OpenFileDialog(打开对话框)。
(6)SaveFileDialog(保存对话框)。
(7)FontDialog(字体对话框)。
(8)Timer(计时器控件)。
最终的用户界面如图1-2所示(设置好属性后),其中MenuStrip控件、ToolStrip控件、StatusStrip控件、OpenFileDialog对话框、SaveFileDialog对话框、FontDialog对话框和Timer 控件显示在窗体设计器下方的组件板上。
电子记事本人机交互设计实验报告
![电子记事本人机交互设计实验报告](https://img.taocdn.com/s3/m/16a6df46bb4cf7ec4bfed01d.png)
题目:电子记事本的交互设计报告学生姓名邓宸学号2009118262院系信息科学与技术学院专业计算机科学与技术年级2009 级一,产品目标能行性:最基本的目标,使设计的电子记事本使用具有效果,能有效的完成用户所要求的记事和备忘的任务;易学习:设计的产品容易学习和上手,使得用户在10分钟之内学会如何使用系统;有效性:工作效率高,用户不需要繁琐的操作即可达到日常的记事目标,软件使用户通过最少的步骤完成大部分的日常目标;安全性:保证用户的正确操作最大程度上有效,并且避免用户的误操作带来的损失;二,产品基本功能(1)记事功能:可在界面中方便地输入待办事宜,如果当天已有安排,程序应有相关的提醒。
可以改变事件处理的时间或者对事件优先级进行编辑,当需要插入处理的事件时,后续的事件优先级要有所改变,如原来有优先级为1,2的两件事件,当在中间插入一新的事件时,原来优先级为2的事件的优先级就变为3(2)能删除或修改已有记录。
(3)查询功能:可根据时间查询当日事宜。
(4)显示功能:显示全部或部分事件安排。
三,建立任务的情节描述我想在2011年12月23号,记录提醒我取钱,进入日历,双击进入,点击新增记录,在记事内容中输入:取500元!点击新增,然后点击确认。
四,通讯录中有关用例(2).修改记事信息记录用户动作系统响应1.进入“日历”界面,用户选择所要查看的“日期”2.系统显示对应日期的记事信息,提示用户可以对记录进行的操作:新增,修改,删除,清空3.用户选择“修改”按钮,4.系统进入“记事信息编辑”界面,使记录进入可编辑状态5.用户对记事记录进行编辑修改,并点击“确认”按钮6.系统接受更改请求,存储记录,提示“修改成功”,返回“日历”界面五,交互设计5.1概念设计电子记事本用例图。
5.2原型设计1. 记录一条新的信息,如图。
2.记事本功能设置,如图所示。
3.记事本详细功能内部介绍5.3用户评估鉴于传统记事本只能通过纸质材料记录数据,功能单一,灵活性差。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八电子记事本的设计与实现掌握用户图形界面设计(GUI)的设计方法,了解布局管理器的知识,了解树形分层结构,掌握Java 中的控件的使用。
二、实验内容利用Java中的用户GUI图形界面设计、文件操作、数据库编程等方面的知识,实现电子记事本的设计与实现。
三、实验要求(1)该实验应能体现本课程中的综合知识;(2)该电子记事本应具有实用性。
(3)界面友好,操作简单。
四、实验步骤与结果:(由学生按照实验内容完成)import javax.swing.*;import java.awt.Container;import java.awt.event.*;import java.awt.*;import javax.swing.event.*;import java.util.*;import java.io.PrintWriter;public class gf extends JFrame implements ActionListener,ItemListener{JTextArea tf=new JTextArea();JLabel lb1=new JLabel("字体");String ziti[]={"宋体","黑体","楷体","Arial","Courier","TimesRoman","Helvetica"}; JLabel lb2=new JLabel("字体样式");String yangshi[]={"粗体","斜体","正常体","粗体倾斜"};JLabel lb3=new JLabel("字号");String zihao[]={"10","20","30","40","50","60"};JComboBox cbx1=new JComboBox();JComboBox cbx2=new JComboBox();JComboBox cbx3=new JComboBox();Font font;String str; int c=20;int n=Font.PLAIN;class savel implements ActionListener{public void actionPerformed(ActionEvent e){JFileChooser jf = new JFileChooser();jf.showSaveDialog(gf.this);}} //保存监听class exitl implements ActionListener{public void actionPerformed(ActionEvent e){System.exit(0);}} //退出监听class cutl implements ActionListener{public void actionPerformed(ActionEvent e){tf.cut();}} //剪切监听class copyl implements ActionListener{public void actionPerformed(ActionEvent e){tf.copy();}} //复制监听class pastel implements ActionListener{public void actionPerformed(ActionEvent e){tf.paste();}} //粘切监听class ziti1 implements ActionListener,ItemListener {public void actionPerformed(ActionEvent e){JFrame nf=new JFrame();Container cp=nf.getContentPane();cp.setLayout(new FlowLayout());nf.setSize(400,100);nf.setVisible(true);for (int i=0;i<ziti.length;i++)cbx1.addItem(ziti[i]);for (int i=0;i<yangshi.length;i++)cbx2.addItem(yangshi[i]);for (int i=0;i<zihao.length;i++)cbx3.addItem(zihao[i]);cp.add(lb1);cp.add(cbx1);cp.add(lb2);cp.add(cbx2);cp.add(lb3);cp.add(cbx3);cbx1.addItemListener(this);cbx2.addItemListener(this);cbx3.addItemListener(this);}public void itemStateChanged(ItemEvent e){if(e.getSource()==cbx1) //字体str=(String)e.getItem();if(e.getSource()==cbx2){ //字体样式if((String)e.getItem()=="粗体")n=Font.BOLD;if((String)e.getItem()=="斜体")n=Font.ITALIC;if((String)e.getItem()=="正常体")n=Font.PLAIN;if((String)e.getItem()=="粗体倾斜")n=Font.BOLD+Font.ITALIC;}if(e.getSource()==cbx3){ //字号String str=(String)e.getItem();for(int i=0;i<zihao.length;i++)if(str==zihao[i])c=(i+1)*10;}font=new Font(""+str,n,c);tf.setFont(font);}} //字体格式监听public gf(){super("记事本"); //设定JFrame的标签tf=new JTextArea("",24,40);getContentPane().add(new JScrollPane(tf)); //创建JFrame的容器对象 JMenuBar bar=new JMenuBar(); //创建JMenuBar对象JMenu menu1=new JMenu("文件");JMenu menu2=new JMenu("编辑");bar.setOpaque(true); //设置bar为不透明setJMenuBar(bar); //加入bar到JFramebar.add(menu1);bar.add(menu2);JMenuItem open=new JMenuItem("打开"); menu1.add(open);JMenuItem save=new JMenuItem("保存"); menu1.add(save);save.addActionListener(new savel());JMenuItem quit=new JMenuItem("退出");menu1.add(quit);quit.addActionListener(new exitl());JMenuItem cut=new JMenuItem("剪切");menu2.add(cut);cut.addActionListener(new cutl());JMenuItem copy=new JMenuItem("复制"); menu2.add(copy);copy.addActionListener(new copyl());JMenuItem paste=new JMenuItem("粘切"); menu2.add(paste);paste.addActionListener(new pastel());JMenuItem zt=new JMenuItem("字体格式"); menu2.add(zt);zt.addActionListener(new ziti1());}public static void main(String[] args){JFrame f = new gf();f.setSize(400,200);f.setVisible(true);}}五、总结。