简单的记事本程序java编写_第1页
简单的记事本程序java编写_第2页
简单的记事本程序java编写_第3页
简单的记事本程序java编写_第4页
简单的记事本程序java编写_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、华北科技学院计算机系软件报告课程名称 Java 程序设计 A实验学期 2010 至 2011 学年 第 二 学期学生所在系部管理系年级 三专业班级电子商务B09-2学生姓名 张莉学号任课教师实验成绩计算机系制华北科技学院计算机系报告Java程序设计A课程考试报告开课实验室:软件开发实验室年 月 日实验题目简易记事本软件一、实验目的a) 掌握面向对象程序设计基本要素(封装、继承、多态)b) 掌握JAVA语言常用类包及其常用方法和JAVA语言基本语法c) 掌握基于AWT的图形用户界面设计i. 常用标准控件的使用,如标签、按钮、菜单、文本框、单选按钮、滚动条等。ii. 事件处理机制d) 掌握布局、对

2、话框的使用e) 掌握发布JAVA应用程序二、设备与环境PC兼容机、Windows操作系统、JAVA集成开发环境。三、实验内容1. 完成记事本的需求分析。2. 记事本的总体设计,列出主要的类和类间关系。3. 列出具体的实现代码。4. 写出程序的实现细节,主要得功能界面,实现说明。5. 写出总结和评价四、实验结果及分析1. 需求分析本程序是一个简单的记事本程序,其主要结构参照了 Windows操作系统的记事本工具。能够实现一些基本功能,主要有:(1) 具有编辑界面,能够实现文本的输入、删除等基本功能。(2) 具有菜单条,包含三个主菜单:文件、编辑、帮助。(3) 各个主菜单分别拥有其菜单选项。(4)

3、 文件主菜单含有新建、打开、保存、另存为、退出五个菜单选项;(5) 编辑主菜单含有剪切、粘贴、复制、全选四个菜单选项。(6) 帮助主菜单好友关于记事本信息的菜单选项,主要记录了记事本文件的基本信息。(7) 各个菜单选项能够实现其对应的功能。(8) 实现剪切、复制、粘贴、全选即编辑菜单的鼠标跳出菜单功能。(9) 各功能具有快捷键。2. 软件设计(1)记事本的主体页面设计图::e世=m冃=三工 j Ill ?nl mil iiIiiiIiiii In iIbm hail iibIiiiIiiiIiii毗j 2££j 334 r|4Bnu mil llliiiliiihii un

4、i iilii iliii liiiil hi hiiiiii ill ii In il in h iiuiiiillllli ll m hull 111HNlullIlJllll lllh llloudinhlllllllllllimllll».SiJ錘i融1文件 報 軒(2) 程序设计思想 首先设计出整个记事本的主体框架,添加菜单栏(JMenu),添加菜单选项(JMenultem )。这部分应用到了 Con tai ner、JMe nuBar、JMe nu、JMe nultem的构造方法,实现对记事本的基本页面设计。 在页面中添加编辑局域,应用了 JTextArea的构造方法。

5、实现各个菜单选项的功能。在具体的功能实现中,为每一个功能设计了一个类,通过监听调用类方法实现所需要实现的功能。 程序中的类以及它们之间的关系:本程序总共含有9个类:Notebook。主类:他实现了记事本的基本框架构造,以及对记事本各个功能的监听,并且调用各个功能的类方法。在 Notebook。中,加入了编辑菜单的弹出菜单功能。在Notebook。主类中,通过事件监听调用了剪切、复制、保存等功能的类方法:NewActionListener ():实现"新建”功能的类SaveActionListener ():实现"保存”功能的类OpenActionListener ():实现

6、"打开”功能的类ExitActionListener ():实现"退出”功能的类CutActionListener ():实现"剪切”功能的类CopyActionListener ():实现"粘贴”功能的类SallActionListener ():实现"全选”功能的类AbouthActionListener ():实现"关于”功能的类整个程序框架:3. 程序代码主函数:import java.awt.*;import java.awt.eve nt.*;import java.io.*;import javax.swi ng.*;p

7、ublic class MyNotebookpublic static void mai n( Stri ng args) new Notebook();Notebook (主类: import java.awt.*;import java.awt.eve nt.*;import java.io.*;import javax.swi ng.*;public class Notebook exte nds JFrame Container container;JFileChooser fc=new JFileChooser();File file=nu II;JMe nuBar mb;JMe n

8、u fileMe nu,editMe nu,helpMe nu;JMe nultemn ewItem,ope nltem,saveltem,saveasltem,exitltem,cutltem,copyltem,pasteltem,sallltem,aboutltem; JTextArea jta;JPopupMe nu popUpMe nu;public Notebook()记事本主界面设计程序/setTitle("记事本");con tai ner=this.getC on te ntPa ne();container.setLayout(new BorderLayo

9、ut(); jta=new JTextArea();contain er.add(jta); setVisible(true); setSize(650, 450); mb=new JMe nuBar(); setJMe nuBar(mb);文件菜单及其菜单选项的程序设计/fileMe nu=n ew JMe nu(” 文件"); n ewltem=new JMe nultem(” 新建");/设置快捷键/n ewltem.N ,Actio nEve nt.CTRL设置“新建”事件监听/n ewItem.addActio nListe ner(new NewActio nL

10、iste ner();fileMe nu.add( newItem);fileMe nu .addSeparator();ope nltem=new JMe nultemC 打开");ope nltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_O ,Actio nEve nt.CTRL_MASK)Jope nltem.addActio nListe ner(new Ope nActio nListe ner(); fileMe nu .add(ope nltem);fileMe nu .addSeparator();sav

11、eltem=new JMe nultem( 保存");saveltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_S ,Actio nEve nt.CTRL_MASK); saveltem.addActio nListe ner(new SaveActio nListe ner();fileMe nu.add(saveltem);fileMe nu .addSeparator(); saveasltem=new JMe nultem(另存为");saveasltem.setAccelerator(KeyStroke

12、.getKeyStroke(KeyEve nt.VK_A,Actio nEve nt.CTRL_MASK ); _ _ saveasltem.addActio nListe ner(new SaveActio nListe ner();fileMe nu.add(saveasltem);fileMe nu .addSeparator(); exitltem=new JMenultem("退出");exitltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_E ,Actio nEve nt.CTRL_MASK); e

13、xitltem.addActio nListe ner(new ExitAct ion Liste ner();fileMe nu.add(exitltem);mb.add(fileMe nu);编辑菜单栏及其菜单选项程序设计/editMe nu=new JMe nu("编辑"); cutltem=new JMe nultem("剪切"); cutltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_X,Actio nEve nt.CTRL_MASK);-cutltem.addActio nLis

14、te ner(new CutActio nListe ner(); editMe nu .add(cutltem); editMe nu.addSeparator(); copyltem=new JMe nultem("复制"); copyltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_C,Actio nEve nt.CTRL_MASK);-copyltem.addActio nListe ner(new CopyActio nListe ner(); editMe nu .add(copyltem); edi

15、tMe nu.addSeparator();pasteltem=new JMe nultem (粘贴"); pasteltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_VActio nEve nt.CTRL_MASK);-pasteltem.addAct ion Liste ner(new PasteActio nListe ner(); editMe nu .add(pasteltem); editMe nu.addSeparator();sallltem=new JMe nultem(” 全选"); sall

16、ltem.setAccelerator(KeyStroke.getKeyStroke(KeyEve nt.VK_M,Actio nEve nt.CTRL_MASK);-sallltem.addActio nListe ner(new SallActio nListe ner(); editMe nu.add(sallltem);mb.add(editMe nu);帮助菜单栏及其菜单选项程序设计/ helpMe nu=new JMe nu("帮助");aboutltem=new JMenultem(关于记事本");aboutltem.addActio nListe

17、ner(new AbouthActio nListe ner(); helpMe nu .add(aboutltem);mb.add(helpMe nu);/编辑菜单的鼠标监听及其弹出菜单的功能设计/popUpMe nu = editMe nu .getPopupMe nu(); jta.addMouseListe ner( new MouseAdapter() public void mouseReleased(MouseEve nt e) if(e.getButt on() = MouseEve nt.BUTTON3) popUpMe nu.show(editMe nu, e.getX()

18、, e.getY();public void mouseClicked(MouseEve nt e) if(e.getButto n() = MouseEve nt.BUTTON1) popUpMe nu.setVisible(false););/ “新建”功能的实现/class NewActio nListe ner impleme nts Actio nListe ner public void actio nPerformed(Actio nEve nt e) jta.setText("");file=n ull;/ “保存功能的实现” /class SaveActi

19、o nListe ner impleme nts Actio nListe nerpublic void actio nPerformed(Actio nEve nt e) if(file!=null) fc.setSelectedFile(file);int retur nV al=fc.showSaveDialog(Notebook.this); if(returnVal=JFileChooser.APPROVE_OPTION) file=fc.getSelectedFile();savi ng();void sav in g()tryFileWriter Writef= new File

20、Writer(file); Writef.write(jta.getText();Writef.close(); catch(Excepti on e)e.pri ntStackTrace();/ “打开”功能的实现class Ope nActio nListe ner impleme nts Actio nListe ner public void actio nPerformed(Actio nEve nt e) if(file !=n ull)fc.setSelectedFile(file);int returnVal=fc.showOpe nDialog(Notebook.this);

21、 if(returnVal=JFileChooser.APPROVE_OPTION) file=fc.getSelectedFile();un fold(); void un fold() tryFileReader Readf= new FileReader(file); in t le n=(i nt)file .len gth(); char buffer =new charle n; Readf.read(buffer,0,le n); Readf.close();jta.setText (new Stri ng(buffer); catch(Excepti on e)e.pri nt

22、StackTrace(); / “退出”功能的实现/class ExitAct ion Liste ner impleme nts Actio nListe ner public void actio nPerformed(Actio nEve nt e) setVisible(false);dispose();System.exit(O);/ “剪切”功能的 实现/class CutActi on Liste ner impleme nts Actio nListe ner public void actio nPerformed(Actio nEve nt e) jta.cut();/ “

23、复制”功能的实现/class CopyActio nListe ner impleme nts Actio nListe nerpublic void actio nPeformed(Actio nEve nt e) jta.copy();/ “粘贴”功能的实现class PasteActio nListe ner impleme nts Actio nListe ner public void actio nPeformed(Actio nEve nt e) jta.paste();/ “全选”功能的实现/class SallAct ion Liste ner impleme nts Actio nListe nerpublic void actio nPeformed(Actio nEve nt e) jta.setSelectio nStart(O);jta.setSelectio nEn d(jta.getText().le ngth(); / “关于”功能的实现/class AbouthActio nListe ner impleme nts Actio nListe nerpublic void actio nPeformed(Actio nEve nt e) String msg ="这是一个记事本 制作者:张莉"Stri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论