




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档华北科技学院计算机学院课程综合作业实 验 报 告 课程名称 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(关于记事本);aboutItem.addActionListener(new AbouthActionListener();helpMenu.add(aboutItem);mb.add(helpMenu);/编辑菜单的鼠标监听及其弹出菜单的功能设计/popUpMenu = editMenu.getPopupMenu();jta.addMouseListener( new MouseAdapter() public void mouseReleased(MouseEvent e) if(e.getButton() = MouseEvent.BUTTON3) popUpMenu.show(editMenu, e.getX(), e.getY(); public void mouseClicked(MouseEvent e) if(e.getButton() = MouseEvent.BUTTON1) popUpMenu.setVisible(false); ); /“新建”功能的实现/class NewActionListener implements ActionListener public void actionPerformed(ActionEvent e) jta.setText(); file=null; /“保存功能的实现”/class SaveActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) if(file!=null) fc.setSelectedFile(file); int returnVal=fc.showSaveDialog(Notebook.this); if(returnVal=JFileChooser.APPROVE_OPTION) file=fc.getSelectedFile(); saving(); void saving() try FileWriter Writef=new FileWriter(file); Writef.write(jta.getText(); Writef.close(); catch(Exception e)e.printStackTrace(); /“打开”功能的实现/class OpenActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) if(file !=null)fc.setSelectedFile(file); int returnVal=fc.showOpenDialog(Notebook.this); if(returnVal=JFileChooser.APPROVE_OPTION) file=fc.getSelectedFile(); unfold(); void unfold() try FileReader Readf=new FileReader(file); int len=(int)file.length(); char buffer=new charlen; Readf.read(buffer,0,len); Readf.close(); jta.setText(new String(buffer); catch(Exception e)e.printStackTrace(); /“退出”功能的实现/class ExitActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) setVisible(false); dispose(); System.exit(0);/“剪切”功能的 实现/class CutActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) jta.cut();/“复制”功能的实现/class CopyActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) jta.copy();/“粘贴”功能的实现/class PasteActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) jta.paste();/“全选”功能的实现/class SallActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) jta.setSelectionStart(0);jta.setSelectionEnd(jta.getText().length();/“关于”功能的实现/class AbouthActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) String msg = 这是一个记事本 制作者:郭金龙;String title = 记事本;JOpt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业接待包间管理制度
- 企业电工应急管理制度
- 中金公司账户管理制度
- 重大项目办公室管理制度
- 中学财务制度管理制度
- 企业日常发货管理制度
- 企业物业结算管理制度
- 书法协会小组管理制度
- 个体企业建立管理制度
- 肉制品加工企业的供应链成本管理与效率提升考核试卷
- 民事起诉状范文下载
- 医护岗位职责与权限制度
- 【8历期末】安徽省合肥市包河区2022-2023学年八年级下学期期末历史试题(含解析)
- 八年级历史下册核心知识点、难点、重点总结
- 人工智能智慧树知到期末考试答案章节答案2024年复旦大学
- (高清版)JTGT D81-2017 公路交通安全设施设计细则
- 2023-2024全国初中物理竞赛试题-杠杆(解析版)
- 新概念马学智慧树知到期末考试答案章节答案2024年内蒙古农业大学
- (正式版)SHT 3551-2024 石油化工仪表工程施工及验收规范
- 乳腺癌患者术后心理护理
- 国家开放大学《Python语言基础》形考任务4参考答案
评论
0/150
提交评论