
java记事本综合实验报告.doc
17页...wd...华北科技学院计算机学院课程综合作业实 验 报 告 课程名称Java大学实用教程 实验学期 2012 至 2013 学年 第 一 学期学生所在系部计算机学院年级2011专业班级信管B11-x学生姓名xxx学号xxxxxxxxxxx任课教师王养廷实验成绩计算机学院制《JAVA程序设计》课程综合作业实验报告开课实验室: 根基四 2012年 12月 20 日实验题目用java编写简单记事本一、 实验目的a) 掌握面向对象程序设计 根本要素〔封装、继承、多态〕b) 掌握JAVA语言常用类包及其常用方法和JAVA语言 根本语法c) 掌握基于AWT的图形用户界面设计i. 常用标准控件的使用,如标签、按钮、菜单、文本框、单项选择按钮、滚动条等ii. 事件处理机制d) 掌握布局、对话框的使用e) 掌握发布JAVA应用程序二、 设备与环境硬件:多媒体计算机软件:Windows 2000以上的操作系统、JAVA集成开发环境三、 实验内容1.完成记事本的需求分析。
2.记事本的总体设计,列出主要的类和类间关系 3.列出具体的实现代码 4.写出程序的实现细节,主要得功能界面,实现说明 5.写出总结和评价四、实验结果及分析1.实验分析 本程序是一个简单的记事本程序,其主要构造参照了Windows操作系统的记事本工具能够实现一些 根本功能,主要有:(1) 具有编辑界面,能够实现文本的输入、删除等 根本功能2) 具有菜单条,包含三个主菜单:文件、编辑、帮助3) 各个主菜单分别拥有其菜单项选择项4) 文件主菜单含有新建、翻开、保存、另存为、退出五个菜单项选择项;(5) 编辑主菜单含有剪切、粘贴、复制、全选四个菜单项选择项6) 帮助主菜单好友关于记事本信息的菜单项选择项,主要记录了记事本文件 的 根本信息7) 各个菜单项选择项能够实现其对应的功能8) 实现剪切、复制、粘贴、全选即编辑菜单的鼠标跳出菜单功能9) 各功能具有快捷键2.程序设计思想 ① 首先设计出整个记事本的主体框架,添加菜单栏〔JMenu〕,添加菜单项选择项〔JMenuItem〕 这局部应用到了Container、JMenuBar、JMenu、JMenuItem的构造方法,实现对记事本的 根本页面设计。
② 在页面中添加编辑局域,应用了JTextArea的构造方法③ 实现各个菜单项选择项的功能在具体的功能实现中,为每一个功能设计了一个类,通过监听调用类方法实现所需要实现的功能④ 程序中的类以及它们之间的关系: 本程序总共含有9个类:Notebook()主类:他实现了记事本的 根本框架构造,以及对记事本各个功能的监听,并且调用各个功能的类方法在Notebook()中,参加了编辑菜单的弹出菜单功能在Notebook()主类中,通过事件监听调用了剪切、复制、保存等功能的类方法:NewActionListener〔〕:实现“新建〞功能的类SaveActionListener〔〕:实现“保存〞功能的类OpenActionListener〔〕:实现“翻开〞功能的类ExitActionListener〔〕:实现“退出〞功能的类CutActionListener〔〕:实现“剪切〞功能的类CopyActionListener〔〕:实现“粘贴〞功能的类SallActionListener〔〕:实现“全选〞功能的类AbouthActionListener〔〕:实现“关于〞功能的类添加事件监听Notebook〔〕初始化界面组件菜单栏文件编辑帮助新建翻开保存退出剪切复制粘贴全选关于另存3.程序整体框架 文字输入区4.程序代码import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;public class MyNotebook{ public static void main(String args[]){ new Notebook();}}//Notebook()主类: class Notebook extends JFrame { Container container; JFileChooser fc=new JFileChooser(); File file=null; JMenuBar mb; JMenu fileMenu,editMenu,helpMenu; JMenuItem newItem,openItem,saveItem,saveasItem,exitItem,cutItem,copyItem,pasteItem,sallItem,aboutItem; JTextArea jta; JPopupMenu popUpMenu; public Notebook() { //记事本主界面设计程序// setTitle("记事本"); container=this.getContentPane(); container.setLayout(new BorderLayout()); jta=new JTextArea(); container.add(jta); setVisible(true); setSize(650, 450); mb=new JMenuBar(); setJMenuBar(mb); //文件菜单及其菜单项选择项的程序设计// fileMenu=new JMenu("文件"); newItem=new JMenuItem("新建");//设置快捷键// newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N ,ActionEvent.CTRL_MASK)); //设置“新建〞事件监听// newItem.addActionListener(new NewActionListener()); fileMenu.add(newItem); fileMenu.addSeparator(); openItem=new JMenuItem("翻开"); openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O ,ActionEvent.CTRL_MASK)); openItem.addActionListener(new OpenActionListener()); fileMenu.add(openItem); fileMenu.addSeparator(); saveItem=new JMenuItem("保存"); saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S ,ActionEvent.CTRL_MASK)); saveItem.addActionListener(new SaveActionListener()); fileMenu.add(saveItem); fileMenu.addSeparator(); saveasItem=new JMenuItem("另存为"); saveasItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A ,ActionEvent.CTRL_MASK)); saveasItem.addActionListener(new SaveActionListener()); fileMenu.add(saveasItem); fileMenu.addSeparator(); exitItem=new JMenuItem("退出"); exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E ,ActionEvent.CTRL_MASK)); exitItem.addActionListener(new ExitActionListener()); fileMenu.add(exitItem); mb.add(fileMenu); //编辑菜单栏及其菜单项选择项程序设计// editMenu=new JMenu("编辑"); cutItem=new JMenuItem("剪切"); cutItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK)); cutItem.addActionListener(new CutActionListener()); editMenu.add(cutItem); editMenu.addSeparator(); copyItem=new JMenuItem("复制"); copyItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK)); copyItem.addActionListener(new CopyActionListener()); editMenu.add(copyItem); editMenu.addSeparator(); pasteItem=new JMenuItem("粘贴"); pasteItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK)); pasteItem.addActionListener(new PasteActionListener()); editMenu.add(pasteItem); editMenu.addSeparator(); sallItem=new JMenuItem("全选"); sallItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, ActionEvent.CTRL_MASK)); sallItem.addActionListener(new SallActionListener()); editMenu.add(sallItem); mb.add(editMenu);//帮助菜单栏及其菜单项选择项程序设计// helpMenu=new JMenu("帮助"); aboutItem=new JMenuItem("关于记事本");。












