为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Java课程设计--简单记事本程序的设计

2017-10-07 26页 doc 110KB 81阅读

用户头像

is_833902

暂无简介

举报
Java课程设计--简单记事本程序的设计Java课程设计--简单记事本程序的设计 Java课程设计报告 题 目:简单记事本程序的设计 院 (系):***学院 年级专业:***班 学生姓名: *** 指导老师: *** 第 1 页 共 25 页 目 录 摘要 ........................................................................................................................................... 1 前言 ......
Java课程设计--简单记事本程序的设计
Java课程--简单记事本程序的设计 Java课程设计报告 题 目:简单记事本程序的设计 院 (系):***学院 年级专业:***班 学生姓名: *** 指导老师: *** 第 1 页 共 25 页 目 录 摘要 ........................................................................................................................................... 1 前言 ........................................................................................................................................... 2 1需求分析 ................................................................................................................................. 2 1.1需求分析 .............................................................................................................................. 2 1.2功能设计 .............................................................................................................................. 3 2.概要设计 ................................................................................................................................. 3 2.1程序设计思路 ...................................................................................................................... 3 2.2程序运行界面 ...................................................................................................................... 3 2.3模块说明图 .......................................................................................................................... 4 2.4程序流程图 .......................................................................................................................... 5 2.5程序相关说明 ...................................................................................................................... 6 3.程序详细设计与分析 .............................................................................................................. 6 3.1.初始化组件 .......................................................................................................................... 6 3.2.构建菜单栏及其下拉菜单 ................................................................................................... 6 3.3.“文件”菜单的事件监听 ................................................................................................... 7 3.4.“编辑”菜单的事件监听 ................................................................................................... 8 3.5.异常处理 .............................................................................................................................. 9 4.测试分析 ............................................................................................................................ 10 5.源程序清单 ........................................................................................................................ 14 6.课程设计总结 .................................................................................................................... 17 7.致谢 .................................................................................................................................... 17 参考文献 .................................................................................................................................. 17 第 2 页 共 25 页 该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开 文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行 设置。该程序主要用到了Java swing和事件监听等。 关键字:记事本程序;Java语言;Jcreator 前言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发 现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。 第 3 页 共 25 页 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 Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优 缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素 来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少,所以选择了 适合初学者使用的JCreator开发工具。 1需求分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽 有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕 疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级 使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用 的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程 序。 1.2功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有 以下几个方面: 第 4 页 共 25 页 (1).菜单中有“文件”,“编辑”,“关于”三个主菜单。 (2)“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新 建文件,打开文件,保存文件,退出记事本。 (3)“编辑”中有“剪切”“复制”“粘贴”“颜色”三个字菜单:用于剪切文字, 复制文字,粘贴文字。增加了“颜色”子菜单来对文字的颜色进行设置。 (4)“关于”菜单中有关于记事本程序的制作日期,作者等信息 2.概要设计 2.1程序设计思路 在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu, JTextPane,JFileChooser等。JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。 JTextPane主要用来输入文本。为了加入颜色的设置,所以加了一个JColorChooser组件。 2.2程序运行界面 2.3模块说明图 ActionListener implements 第 5 页 共 25 页 mynotepad 图1 extends JFrame 在图1中,首先创建一个名为mynotepad的类并继承JFrame类作为最底层的容器。 mynotepad 的构造方法 添加事件监初始化容 组件 听 器 初始化 初始化 菜单栏 文字输入区 关于 文件 编辑 新打保退剪复粘颜关 建 开 存 出 切 制 贴 色 于 图2 在图2中,构造一个mynotepad类时要做三件事情,分别是初始化容器(initTextContent)、初始化组件(initMenu、initAboutDialog)、设置事件监听 器。 2.4程序流程图 第 6 页 共 25 页 启动程序 输入文字 False False 新打保退剪复粘颜关 建 开 存 出 切 制 贴 色 于 true true true true true true true true file=null about.show() file=openfile color saving content.paste System.exit(0) content.copy() content.cut() 关闭或退出程序 图3 第 7 页 共 25 页 2.5程序相关说明 整个记事本分为2快:菜单栏和内容输入区。本程序中首先定义一个mynotepad类继 承JFrame作为最底层容器。 (1).Textcontent为程序文本输入区。 (2).Menu为菜单栏。 (3).AboutDialog为关于对话框。 (4).要想记事本完成需求分析中相应的功能,还必须添加事件监听器。事件监听器 不仅要添加在菜单栏和内容输入区,还需加在容器中。本程序中ActListener实现了 ActionListener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。 另外,还用来WindowListener来监听处理容器关闭触发的事件,WindowListener继承了 WindowsAdapter类并覆盖了WindowsClosing方法。 3.程序详细设计与分析 3.1.初始化组件 initTextContent(); initMenu(); initAboutDialog(); 3.2.构建菜单栏及其下拉菜单 JMenu[] menus=new JMenu[]{ new JMenu("文件"), new JMenu("编辑"), new JMenu("关于") }; JMenuItem optionofmenu[][]=new JMenuItem[][]{{ 第 8 页 共 25 页 new JMenuItem("新建"), new JMenuItem("打开"), new JMenuItem("保存"), new JMenuItem("退出") }, { new JMenuItem("复制"), new JMenuItem("剪切"), new JMenuItem("粘贴"), new JMenuItem("颜色") }, { new JMenuItem("关于") } }; 3.3.“文件”菜单的事件监听 ActionListener action=new ActionListener(){ public void actionPerformed(ActionEvent e){ String name = e.getActionCommand(); JMenuItem MI=(JMenuItem)e.getSource(); if("新建".equals(name)){ content.setText(""); file=null; }else if("打开".equals(name)){ if(file !=null)openfile.setSelectedFile(file); int returnVal=openfile.showOpenDialog(mynotepad.this); if(returnVal==JFileChooser.APPROVE_OPTION){ 第 9 页 共 25 页 file=openfile.getSelectedFile(); unfold(); } }else if("保存".equals(name)){ if(file!=null) openfile.setSelectedFile(file); int returnVal=openfile.showSaveDialog(mynotepad.this); if(returnVal==JFileChooser.APPROVE_OPTION){ file=openfile.getSelectedFile(); saving(); } }else if("退出".equals(name)){ mynotepad f=new mynotepad(); int s=JOptionPane.showConfirmDialog(f,"退出?","退出 ",JOptionPane.YES_NO_OPTION); 3.4.“编辑”菜单的事件监听 else if("剪切".equals(name)){ content.cut(); }else if("复制".equals(name)){ content.copy(); }else if("粘贴".equals(name)){ content.paste(); }else if("颜色".equals(name)){ color=JColorChooser.showDialog(mynotepad.this,"",color); content.setForeground(color); 第 10 页 共 25 页 3.5.异常处理 在运行程序代码是有可能会产生异常情况或异常事件,为了避免这种情况,就需要在 程序中用到Java异常处理机制。本程序中选用的异常处理机制是try,catch。捕获处理 异常的第一步是用try选定要监控的异常范围,try后跟随catch代码块。 saving(){ try{ FileWriter Writef=new FileWriter(file); Writef.write(content.getText()); Writef.close(); } catch(Exception e){e.printStackTrace();} } void unfold(){ try{ FileReader Readf=new FileReader(file); int len=(int)file.length(); char []buffer=new char[len]; Readf.read(buffer,0,len); Readf.close(); content.setText(new String(buffer)); }catch(Exception e){e.printStackTrace();} } 第 11 页 共 25 页 4.测试分析 图4:点击“文件”运行情况 图5:“文件”菜单中的“打开”对话框 第 12 页 共 25 页 图6:“编辑”中的“颜色”设置功能 图7:“关于”对话框 第 13 页 共 25 页 5.源程序清单 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; class mynotepad extends JFrame{ File file=null; Color color=Color.red; mynotepad(){ initTextContent();„„„„„„„„„„„„„„„„„„//初始化组件 initMenu(); initAboutDialog(); } void initTextContent(){ getContentPane().add(new JScrollPane(content)); „„//滚动面板对象 } JTextPane content=new JTextPane(); „„„„„„„„/创建/内容输入区 JFileChooser openfile=new JFileChooser();„„„„„„//创建打开文件对话框 JColorChooser opencolor=new JColorChooser();„„„„//颜色选择 JDialog about=new JDialog(this);„„„„„„„„„„//关于对话框 JMenuBar menu=new JMenuBar();„„„„„„„„„//创建菜单栏 //菜单栏的各个菜单项 JMenu[] menus=new JMenu[]{ new JMenu("文件"), new JMenu("编辑"), new JMenu("关于") }; //“文件”菜单项的四个下拉菜单 JMenuItem optionofmenu[][]=new JMenuItem[][]{{ new JMenuItem("新建"), 第 14 页 共 25 页 new JMenuItem("打开"), new JMenuItem("保存"), new JMenuItem("退出") }, //编辑菜单的四个下拉菜单 { new JMenuItem("复制"), new JMenuItem("剪切"), new JMenuItem("粘贴"), new JMenuItem("颜色") }, { new JMenuItem("关于") } }; void initMenu(){ for(int i=0;i
/
本文档为【Java课程设计--简单记事本程序的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索