当前位置:文档之家› java课程设计记事本

java课程设计记事本

攀枝花学院课程设计题目:记事本程序设计院(系):数学与计算机学院年级专业:姓名: 000000 学号:指导教师:二〇一三年十二月三十日攀枝花学院教务处制攀枝花学院本科学生课程设计任务书课程设计(论文)指导教师成绩评定表摘要目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。

按照教学培养计划要求,学生在学习完课本中指定课时的知识后,应安排一定课时的课程设计。

其主要目的是使学生深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等。

故此“记事本”应运而生。

该报告中的程序是简易记事本。

使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。

该程序主要用到了Java swing和事件监听等。

关键字:记事本,Java,Java swing目录摘要................................................................1 前言 (1)2 需求分析 (2)需求分析 (2)功能设计 (2)3 概要设计 (3)程序设计思路 (3)程序运行界面 (3)模块说明图 (3)程序流程图 (5)程序相关说明 (5)4 程序详细设计与分析 (6)初始化组件 (6).构建菜单栏及其下拉菜单 (6)“文件”菜单的事件监听 (7)“编辑”菜单的事件监听 (7)5 测试分析 (9)结论 (11)参考文献 (12)附录 (13)1 前言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。

后来它的开发者们发现它还可以被用于更大范围的Internet上。

1995年,Java语言的名字从Oak 编程了Java。

1997年发布。

1998年发布,标志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开发工具。

2 需求分析需求分析现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。

功能也是应有尽有,有能改变字体的,有能改变文字颜色的。

但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。

仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。

本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。

功能设计本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:(1)菜单中有“文件”,“编辑”,“关于”三个主菜单。

(2)“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新建文件,打开文件,保存文件,退出记事本。

(3)“编辑”中有“剪切”“复制”“粘贴”“颜色”三个字菜单:用于剪切文字,复制文字,粘贴文字。

增加了“颜色”子菜单来对文字的颜色进行设置。

(4)“关于”菜单中有关于记事本程序的制作日期,作者等信息。

3 概要设计程序设计思路在本程序中,设计了一个菜单栏和文本内容区。

设计过程中用到JScrollPaneJMenu,JTextPane,JFileChooser等。

JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。

JTextPane主要用来输入文本。

为了加入颜色的设置,所以加了一个JColorChooser组件。

程序运行界面图程序运行界面模块说明图mynotepadimplementextends ActionListene rJFrame图模块说明图在图中,首先创建一个名为mynotepad的类并继承JFrame类作为最底层的容器。

图模块说明图在图中,构造一个mynotepad类时要做三件事情,分别是初始化容器(initTextContent)、初始化组件(initMenu、initAboutDialog)、设置事件监听器。

程序流程图图程序流程图程序相关说明整个记事本分为2块:菜单栏和内容输入区。

本程序中首先定义一个mynotepad 类继承JFrame作为最底层容器。

(1).Textcontent为程序文本输入区。

(2).Menu为菜单栏。

(3).AboutDialog为关于对话框。

(4).要想记事本完成需求分析中相应的功能,还必须添加事件监听器。

事件监听器不仅要添加在菜单栏和内容输入区,还需加在容器中。

本程序中ActListener 实现了ActionListener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。

4 程序详细设计与分析初始化组件initTextContent();initMenu();initAboutDialog();.构建菜单栏及其下拉菜单JMenu[] menus=new JMenu[]{new JMenu("文件"),new JMenu("编辑"),new JMenu("关于")};J MenuItem optionofmenu[][]=new JMenuItem[][]{{ new JMenuItem("新建"),new JMenuItem("打开"),new JMenuItem("保存"),new JMenuItem("退出")},{new JMenuItem("复制"),new JMenuItem("剪切"),new JMenuItem("粘贴"),new JMenuItem("颜色")},{new JMenuItem("关于")}};“文件”菜单的事件监听ActionListener action=new ActionListener(){ public void actionPerformed(ActionEvent e){String name = ();JMenuItem MI=(JMenuItem)();if("新建".equals(name)){("");file=null;}else if("打开".equals(name)){if(file !=null)(file);int returnVal=;if(returnVal=={file=();unfold();}}else if("保存".equals(name)){if(file!=null) (file);int returnVal=;if(returnVal=={file=();saving();}}else if("退出".equals(name)){mynotepad f=new mynotepad();int s=(f,"退出","退出",;“编辑”菜单的事件监听else if("剪切".equals(name)){();}else if("复制".equals(name)){();}else if("粘贴".equals(name)){ ();}else if("颜色".equals(name)){ color=,"",color);(color);5 测试分析图:点击“文件”运行情况图:“文件”菜单中的“打开”对话框图:“编辑”中的“颜色”设置功能图:“关于”对话框调试结果完全符合课程设计要求!结论经过一个星期的我的记事本的课程设计,我在老师的指导下,基本上完成我的Java课程设计—简单的记事本程序,也基本上实现了我在需求分析时所预期的功能。

通过该课程设计,收获颇多。

首先,让我加深了对Java语言的理论知识的理解;进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。

同时,做这门课程设计也进一步加强了我的动手能力其次,让我更加熟练的掌握了Java语言的设计能力并且有了实践经验,在设计过程中,学到了老师没有在课堂上没有教授的知识,加强了我对Java语言的学习兴趣和好感。

参考文献[1]朱福喜.《Java语言程序设计》(第二版).科学出版社[2]陈国君等.《Java程序设计基础》(第二版).清华大学出版社[3] Deitel.《Java大学基础教程》(第六版).电子工业出版社[4] MaryCampione.《Java语言导学》(第四版).机械工业出版社[5] Liang.《Java语言程序设计基础篇》(第六版). 机械工业出版社[6] Kathy Sierra.《Head First Java》(第二版).东南大学出版社附录源代码:package .*;@SuppressWarnings("serial")class mynotepad extends JFrame{File file=null;Color color=;mynotepad(){initTextContent(); dd(new JScrollPane(content));ength;j++){menus[i].add(optionofmenu[i][j]);optionofmenu[i][j].addActionListener( action );}}(menu);}ActionListener action=newActionListener(){ quals(name)){ quals(name)){ quals(name)){ quals(name)){mynotepad f=new mynotepad();int s=(f,"退出","退出",;quals(name)){ quals(name)){ quals(name)){ quals(name)){ q uals(name)){(300,150);etBackground;dd(new JLabel("记事本"));dd(newJLabel("制作者:陈程"));().add(new JLabel("2013年12月"));(true); etFont(new Font("新宋体", , 22));;(""));().getImage"/image/")));(new WindowAdapter(){});("记事本"); //记事本标题(640,320); //设置记事本大小();(150,100); //设置记事本显示位置(new FocusTraversalOnArray(new Component[]{()})); }}。

相关主题