JAVA课程设计.docx

上传人:b****4 文档编号:4344723 上传时间:2022-11-30 格式:DOCX 页数:11 大小:84.25KB
下载 相关 举报
JAVA课程设计.docx_第1页
第1页 / 共11页
JAVA课程设计.docx_第2页
第2页 / 共11页
JAVA课程设计.docx_第3页
第3页 / 共11页
JAVA课程设计.docx_第4页
第4页 / 共11页
JAVA课程设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

JAVA课程设计.docx

《JAVA课程设计.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计.docx(11页珍藏版)》请在冰豆网上搜索。

JAVA课程设计.docx

JAVA课程设计

 

软件学院

课程设计报告书

 

课程名称Java课程设计

设计题目文本编辑器

专业班级软件工程财升本11-1

学号1120970111

姓名刘飞鸿

指导教师徐娇月

 

年月

目录

1设计时间3

2设计目的3

3设计任务3

4设计内容3

4.1设计过程3

4.1.1类或包的加载3

4.1.2设计一个主类,变量的定义3

4.1.3.文件操作功能的实现5

4.2系统主要用例的实现9

4.2.1文件用例运行效果9

4.2.2编辑用例运行效果9

4.2.3打开文档用例运行效果10

4.2.4关于用例运行效果10

5总结与展望11

参考文献12

成绩评定12

1设计时间

2011年12月19日~2011年12月25日

2设计目的

Java课程设计是对所学面向对象课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。

要求同学们对理论课中所学习到的知识综合运用,实现有一定规模的Java应用。

3设计任务

设计一个简单的文本编辑器,可以实现以下功能:

文件的新建,打开,保存和另存;对文件的编辑,如全选,复制,剪切,粘贴;执行完操作后,能够顺利关闭记事本。

4设计内容

4.1设计过程

4.1.1类或包的加载

packagewenben1;

importjava.awt.*;

importjava.awt.event.*;

importjava.io.*;

importjavax.swing.*;

importjavax.swing.text.*;

4.1.2设计一个主类,变量的定义

publicclasswenben2extendsJFrame{

JTextPanetextPane=newJTextPane();//文本窗格,编辑窗口

JLabelstatusBar=newJLabel();//状态栏

JFileChooserfilechooser=newJFileChooser();//文件选择器

publicwenben2(){//构造函数

super("简单的文本编辑器");//调用父类构造函数

Action[]actions=//Action数组,各种操作命令

{

newNewAction(),

newOpenAction(),

newSaveAction(),

newCutAction(),

newCopyAction(),

newPasteAction(),

newAboutAction(),

newExitAction()};

setJMenuBar(createJMenuBar(actions));//设置菜单栏

Containercontainer=getContentPane();//得到容器

container.add(createJToolBar(actions),BorderLayout.NORTH);//增加工具栏

container.add(textPane,BorderLayout.CENTER);//增加文本窗格

container.add(statusBar,BorderLayout.SOUTH);//增加状态栏

setSize(330,200);//设置窗口尺寸

setVisible(true);//设置窗口可视

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序

}

privateJMenuBarcreateJMenuBar(Action[]actions){//创建菜单栏

JMenuBarmenubar=newJMenuBar();//实例化菜单栏

JMenumenuFile=newJMenu("文件");//实例化菜单

JMenumenuEdit=newJMenu("编辑");

JMenumenuAbout=newJMenu("帮助");

menuFile.add(newJMenuItem(actions[0]));//增加新菜单项

menuFile.add(newJMenuItem(actions[1]));

menuFile.add(newJMenuItem(actions[2]));

menuFile.add(newJMenuItem(actions[7]));

menuEdit.add(newJMenuItem(actions[3]));

menuEdit.add(newJMenuItem(actions[4]));

menuEdit.add(newJMenuItem(actions[5]));

menuAbout.add(newJMenuItem(actions[6]));

menubar.add(menuFile);//增加菜单

menubar.add(menuEdit);

menubar.add(menuAbout);

returnmenubar;//返回菜单栏

}

privateJToolBarcreateJToolBar(Action[]actions){//创建工具条

JToolBartoolBar=newJToolBar();//实例化工具条

for(inti=0;i

JButtonbt=newJButton(actions[i]);//实例化新的按钮

bt.setRequestFocusEnabled(false);//设置不需要焦点

toolBar.add(bt);//增加按钮到工具栏

}

returntoolBar;//返回工具栏

}

4.1.3.文件操作功能的实现

classNewActionextendsAbstractAction{//新建文件命令

publicNewAction(){

super("新建");

}

publicvoidactionPerformed(ActionEvente){

textPane.setDocument(newDefaultStyledDocument());//清空文档

}

}

classOpenActionextendsAbstractAction{//打开文件命令

publicOpenAction(){

super("打开");

}

publicvoidactionPerformed(ActionEvente){

inti=filechooser.showOpenDialog(wenben2.this);//显示打开文件对话框

if(i==JFileChooser.APPROVE_OPTION){//点击对话框中打开选项

Filef=filechooser.getSelectedFile();//得到选择的文件

try{

InputStreamis=newFileInputStream(f);//得到文件输入流

textPane.read(is,"d");//读入文件到文本窗格

}catch(Exceptionex){

ex.printStackTrace();//输出出错信息

}

}

}

}

classSaveActionextendsAbstractAction{//保存命令

publicSaveAction(){

super("保存");

}

publicvoidactionPerformed(ActionEvente){

inti=filechooser.showSaveDialog(wenben2.this);//显示保存文件对话框

if(i==JFileChooser.APPROVE_OPTION){//点击对话框中保存按钮

Filef=filechooser.getSelectedFile();//得到选择的文件

try{

FileOutputStreamout=newFileOutputStream(f);//得到文件输出流

out.write(textPane.getText().getBytes());//写出文件

}catch(Exceptionex){

ex.printStackTrace();//输出出错信息

}

}

}

}

classExitActionextendsAbstractAction{//退出命令

publicExitAction(){

super("退出");

}

publicvoidactionPerformed(ActionEvente){

System.exit(0);//退出程序

}

}

classCutActionextendsAbstractAction{//剪切命令

publicCutAction(){

super("剪切");

}

publicvoidactionPerformed(ActionEvente){

textPane.cut();//调用文本窗格的剪切命令

}

}

classCopyActionextendsAbstractAction{//复制命令

publicCopyAction(){

super("复制");

}

publicvoidactionPerformed(ActionEvente){

textPane.copy();//调用文本窗格的复制命令

}

}

classPasteActionextendsAbstractAction{//粘贴命令

publicPasteAction(){

super("粘贴");

}

publicvoidactionPerformed(ActionEvente){

textPane.paste();//调用文本窗格的粘贴命令

}

}

classAboutActionextendsAbstractAction{//关于选项命令

publicAboutAction(){

super("关于");

}

publicvoidactionPerformed(ActionEvente){

JOptionPane.showMessageDialog(wenben2.this,"简单的文本编辑器演示");//显示软件信息

}

}

publicstaticvoidmain(String[]args){

newwenben2();

}

}

4.2系统主要用例的实现

4.2.1文件用例运行效果

图4-1文件用例运行效果图

4.2.2编辑用例运行效果

图4-2编辑用例运行效果图

4.2.3打开文档用例运行效果

图4-3打开文档用例运行效果图

4.2.4关于用例运行效果

图4-4关于用例运行效果图

 

5总结与展望

作为软件学院的学生,我觉得能做类似的课程设计是十分有意义,而且是十分必要的。

我们在课堂上掌握的仅仅是专业基础课的理论面,如何去锻炼我们的实践面?

如何把我们所学到的专业基础理论知识用到实践中去呢?

我想做类似的大作业就为我们提供了良好的实践平台。

在做本次课程设计的过程中,我感触最深的当数查阅大量的资料了。

为了让自己的设计更加完善,更加符合软件工程标准,一次次翻阅各种参考资料是十分必要的,同时也是必不可少的。

我们是在作设计,但我们不是艺术家。

他们可以抛开实际,尽情在幻想的世界里翱翔,我们是软件设计师,一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

本次课程设计要求用java进行开发,在这过程中我对java的开发环境进行了探索,这使我对java的集成开发环境有了更深刻的理解。

我发现在学习的过程中带着问题去学效率很高,边学边用这样才会提高效率,这是我作本次课程设计的第二大收获。

但是由于水平有限,难免会有错误,还望老师批评指正。

参考文献

[1]刘万军,郑少京,王松波等.Java6程序设计实践教程[M].北京:

北京清华大学出版社,2009

[2]张广彬,孟红蕊,张永宝.Java课程设计案例精编[M].北京:

清华大学出版社,2007,1.

[3]黄晓东.Java课程设计案例精编[M].北京:

中国水利水电出版社,2004,5.

成绩评定

成绩教师签字

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1