Java课程设计报告记事本源代码有流程图.docx
- 文档编号:9197602
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:11
- 大小:76.11KB
Java课程设计报告记事本源代码有流程图.docx
《Java课程设计报告记事本源代码有流程图.docx》由会员分享,可在线阅读,更多相关《Java课程设计报告记事本源代码有流程图.docx(11页珍藏版)》请在冰点文库上搜索。
Java课程设计报告记事本源代码有流程图
Java课程设计报告
题目:
简单记事本程序的设计
年级专业:
计算机科学与技术
学号:
学生姓名:
指导老师:
完成时间:
2010年6月8日
简单记事本程序的设计
前言
Java的前身是Oak,它一开始只是被应用于消费性电子产品中。
后来它的开发者们发现它还可以被用于更大范围的Internet上。
1995年,Java语言的名字从Oak编程了Java。
1997年J2SE1.1发布。
1998年J2SE1.2发布,标志Java2的诞生。
十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。
Java的体系结构由Java语言、Javaclass、JavaAPI、Java虚拟机组成。
它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。
Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。
Java的平台标准有JavaME,JavaSE和JavaEE。
Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。
目前在众多的支持Java的开发工具中主要的7有JavaDevelopmentKit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。
其中JavaDevelopmentKit简称JDK是大多开发工具的基础。
以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。
在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少,所以选择了适合初学者使用的JCreator开发工具。
2.3模块说明图
图1
在图1中,首先创建一个名为mynotepad的类并继承JFrame类作为最底层的容器。
图2
在图2中,构造一个mynotepad类时要做三件事情,分别是初始化容器(initTextContent)、初始化组件(initMenu、initAboutDialog)、设置事件监听器。
2.4程序流程图
FalseFalse
truetruetruetruetruetruetruetrue
图3
3.5.异常处理
在运行程序代码是有可能会产生异常情况或异常事件,为了避免这种情况,就需要在程序中用到Java异常处理机制。
本程序中选用的异常处理机制是try,catch。
捕获处理异常的第一步是用try选定要监控的异常范围,try后跟随catch代码块。
saving(){
try{
FileWriterWritef=newFileWriter(file);
Writef.write(content.getText());
Writef.close();
}
catch(Exceptione){e.printStackTrace();}
}
voidunfold(){
try{
FileReaderReadf=newFileReader(file);
intlen=(int)file.length();
char[]buffer=newchar[len];
Readf.read(buffer,0,len);
Readf.close();
content.setText(newString(buffer));
}catch(Exceptione){e.printStackTrace();}
}
6.课程设计总结
经过差不多两个星期的努力,基本上完成我的Java课程设计—简单的记事本程序,也基本上实现了我在需求分析时所预期的功能。
通过这次的课程设计,使将我从书本上学习到的理论知识用到了实践上,从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java及其强大的功能。
同时,做这门课程设计也进一步加强了我的动手能力。
为了完成好这次课程设计,我提前做了较多的准备,一边上网查找相关资料,另一方面查阅相关书籍。
在这过程中也无形中锻炼了我的思维分析、遇到问题及想方设法通过各种途径解决问题的能力。
但是,设计过程中也存在一些问题,本来一开始想给这个记事本程序加上一张背景图片,以及添加字体设置功能,但是由于本人知识浅陋以及各种其他原因,使得这些想法没有实现,这是这次课程设计的一点遗憾。
参考文献
[1].孙全党王吴迪赵枫朝,Java程序设计应用教程,电子工业出版社,2006.2
[2].雷之宇,Java项目开发实践—网络篇,中国铁道出版社,2005.5
[3].赵玉阳,Java从入门到精通,清华大学出版社,2006.8
[4].李茏怡,Java编程实例讲解,高等教育出版社,2005.11
完整代码:
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.io.*;
classmynotepadextendsJFrame{
Filefile=null;
Colorcolor=Color.red;
mynotepad(){
initTextContent();
initMenu();
initAboutDialog();
}
voidinitTextContent(){
getContentPane().add(newJScrollPane(content));
}
JTextPanecontent=newJTextPane();
JFileChooseropenfile=newJFileChooser();
JColorChooseropencolor=newJColorChooser();
JDialogabout=newJDialog(this);
JMenuBarmenu=newJMenuBar();
JMenu[]menus=newJMenu[]{
newJMenu("文件"),
newJMenu("编辑"),
newJMenu("关于")
};
JMenuItemoptionofmenu[][]=newJMenuItem[][]{{
newJMenuItem("新建"),
newJMenuItem("打开"),
newJMenuItem("保存"),
newJMenuItem("退出")
},
{
newJMenuItem("复制"),
newJMenuItem("剪切"),
newJMenuItem("粘贴"),
newJMenuItem("颜色")
},
{
newJMenuItem("关于")
}
};
voidinitMenu(){
for(inti=0;i menu.add(menus[i]); for(intj=0;j menus[i].add(optionofmenu[i][j]); optionofmenu[i][j].addActionListener(action); } } this.setJMenuBar(menu); } ActionListeneraction=newActionListener(){ publicvoidactionPerformed(ActionEvente){ Stringname=e.getActionCommand(); JMenuItemMI=(JMenuItem)e.getSource(); if("新建".equals(name)){ content.setText(""); file=null; }elseif("打开".equals(name)){ if(file! =null)openfile.setSelectedFile(file); intreturnVal=openfile.showOpenDialog(mynotepad.this); if(returnVal==JFileChooser.APPROVE_OPTION){ file=openfile.getSelectedFile(); unfold(); } }elseif("保存".equals(name)){ if(file! =null)openfile.setSelectedFile(file); intreturnVal=openfile.showSaveDialog(mynotepad.this); if(returnVal==JFileChooser.APPROVE_OPTION){ file=openfile.getSelectedFile(); saving(); } }elseif("退出".equals(name)){ mynotepadf=newmynotepad(); ints=JOptionPane.showConfirmDialog(f,"退出? ","退出",JOptionPane.YES_NO_OPTION); if(s==JOptionPane.YES_OPTION) System.exit(0); }elseif("剪切".equals(name)){ content.cut(); }elseif("复制".equals(name)){ content.copy(); }elseif("粘贴".equals(name)){ content.paste(); }elseif("颜色".equals(name)){ color=JColorChooser.showDialog(mynotepad.this,"",color); content.setForeground(color); }elseif("关于".equals(name)){ about.setSize(300,150); about.show(); } } }; voidsaving(){ try{ FileWriterWritef=newFileWriter(file); Writef.write(content.getText()); Writef.close(); } catch(Exceptione){e.printStackTrace();} } voidunfold(){ try{ FileReaderReadf=newFileReader(file); intlen=(int)file.length(); char[]buffer=newchar[len]; Readf.read(buffer,0,len); Readf.close(); content.setText(newString(buffer)); }catch(Exceptione){e.printStackTrace();} } voidinitAboutDialog(){ about.setLayout(newGridLayout(3,1)); about.getContentPane().setBackground(Color.white); about.getContentPane().add(newJLabel("我的记事本程序")); about.getContentPane().add(newJLabel("制作者: liuhui")); about.getContentPane().add(newJLabel("2010年6月")); about.setModal(true); about.setSize(100,100); about.setLocation(250,170); } ; } publicclassNotepad{ publicstaticvoidmain(Stringargs[]){ mynotepadnoted=newmynotepad(); noted.addWindowListener(newWindowAdapter(){ }); noted.setTitle("我的记事本程序"); noted.setSize(640,320); noted.show(); noted.setLocation(150,100); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 报告 记事本 源代码 流程图