Java记事本课程设计报告.docx

上传人:b****1 文档编号:15260929 上传时间:2023-07-02 格式:DOCX 页数:29 大小:288.45KB
下载 相关 举报
Java记事本课程设计报告.docx_第1页
第1页 / 共29页
Java记事本课程设计报告.docx_第2页
第2页 / 共29页
Java记事本课程设计报告.docx_第3页
第3页 / 共29页
Java记事本课程设计报告.docx_第4页
第4页 / 共29页
Java记事本课程设计报告.docx_第5页
第5页 / 共29页
Java记事本课程设计报告.docx_第6页
第6页 / 共29页
Java记事本课程设计报告.docx_第7页
第7页 / 共29页
Java记事本课程设计报告.docx_第8页
第8页 / 共29页
Java记事本课程设计报告.docx_第9页
第9页 / 共29页
Java记事本课程设计报告.docx_第10页
第10页 / 共29页
Java记事本课程设计报告.docx_第11页
第11页 / 共29页
Java记事本课程设计报告.docx_第12页
第12页 / 共29页
Java记事本课程设计报告.docx_第13页
第13页 / 共29页
Java记事本课程设计报告.docx_第14页
第14页 / 共29页
Java记事本课程设计报告.docx_第15页
第15页 / 共29页
Java记事本课程设计报告.docx_第16页
第16页 / 共29页
Java记事本课程设计报告.docx_第17页
第17页 / 共29页
Java记事本课程设计报告.docx_第18页
第18页 / 共29页
Java记事本课程设计报告.docx_第19页
第19页 / 共29页
Java记事本课程设计报告.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java记事本课程设计报告.docx

《Java记事本课程设计报告.docx》由会员分享,可在线阅读,更多相关《Java记事本课程设计报告.docx(29页珍藏版)》请在冰点文库上搜索。

Java记事本课程设计报告.docx

Java记事本课程设计报告

Java记事本课程设计报告

XXXXXXXX计算机学院

课程设计报告书

 

学生姓名:

XXXX

学院:

计算机学院

专业班级:

软件工程

专业课程:

JAVA语言程序设计

指导教师:

 

2014年6月13日

题目

记事本的设计与实现

考核项目

考核内容

得分

平时考核

(30分)出勤情况、态度、效率;知识掌握情况、基本操作技能、知识应用能力、获取知识能力

系统设计

(20分)分析系统的功能模块

编程调试

(20分)实现系统的各个功能模块,并完成调试

回答问题

(15分)回答老师针对课程设计提出的问题

课程设计报告撰写

(10分)严格按照规范要求完成课程设计报告

源代码

(5分)要个按照规范要求完成课程设计源代码的排版

总评成绩

指导教师评语:

 

日期:

年月日

 

第1章系统设计目的.............................1

第2章系统实现思路..............................2

第3章系统详细设计..............................3

第4章系统调试运行..............................7

第5章课程设计体会..............................8

第6章参考文献..................................9

第7章附录...............................10

第1章系统设计目的

1.1复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;

1.2课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;

1.3培养学生在项目开发中团队合作精神,创新意识及能力

1.4掌握JAVA语言常用类包及其常用方法和JAVA语言基本语法

1.5掌握JAVA语言常用类包及其常用方法和JAVA语言基本语法

 

第2章系统实现思路

2.1总体功能实现

 

图2.1总体功能实现

 

图2.2记事本

 

2.2菜单操作流程图

图2.2“文件”菜单操作流程图

2.3“编辑”菜单操作流程图

2.4“帮助”菜单操作流程图

 

第3章系统详细设计

3.1界面设计

创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。

主要代码:

JMenuBarmenub=newJMenuBar();

JTextAreatext=newJTextArea();

JMenufiles=newJMenu("文件(F)");

JMenuedit=newJMenu("编辑(E)");

JMenuformats=newJMenu("格式(O)");

JMenuhelp=newJMenu("帮助(H)");

JMenuItemnewFile=newJMenuItem("新建(N)");

JMenuItemopen=newJMenuItem("打开(O)...");

JMenuItemsave=newJMenuItem("保存(S)");

JMenuItemexit=newJMenuItem("退出(X)");

 

JMenuItemcut=newJMenuItem("剪切(T)");

JMenuItemcopy=newJMenuItem("复制(C)");

JMenuItempaste=newJMenuItem("粘贴(P)");

JMenuItemselectAll=newJMenuItem("全选(A)");

JMenuItemcolor=newJMenuItem("字体颜色(C)...");

JMenuItemabout=newJMenuItem("关于记事本(A)");

3.2窗口大小

主要代码:

Notebook(Stringname)

{

super(name);

this.name=name;

intx,y;

Dimensionsize=Toolkit.getDefaultToolkit().getScreenSize();

x=(size.width-600)/2;

y=(size.height-400)/2;

setSize(600,400);

setLocation(x,y);

setMinimumSize(newDimension(250,150));

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

3.3定义快捷键

主要代码:

files.setMnemonic('F');

edit.setMnemonic('E');

formats.setMnemonic('O');

help.setMnemonic('H');

newFile.setMnemonic('N');

open.setMnemonic('O');

save.setMnemonic('S');

exit.setMnemonic('X');

cut.setMnemonic('T');

copy.setMnemonic('C');

paste.setMnemonic('P');

selectAll.setMnemonic('A');

color.setMnemonic('C');

about.setMnemonic('A');

newFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));

open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));

save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));

exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,InputEvent.CTRL_MASK));

cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));

copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));

paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));

selectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));

 

3.4功能代码

新建:

if(source==newFile)

{

text.setText("");

th.setTitle(name);

openedPath=null;

opened=false;

}

退出:

elseif(source==exit)

{

System.exit(0);

}

全选:

elseif(source==selectAll)

text.selectAll();

剪贴:

elseif(source==cut)

text.cut();

复制:

elseif(source==copy)

text.copy();

粘贴:

elseif(source==paste)

text.paste();

关于:

elseif(source==about)

{

JFrameabout=newJFrame("记事本");

JLabellabel1=newJLabel("记事本");

JLabellabel2=newJLabel("作者:

XX");

JLabellabel3=newJLabel("电子邮箱:

XXXXXXXXXX");

}

保存:

elseif(source==save)

{

StringsavePath=openedPath;

if(savePath==null)

{

FileDialogsaveFile=newFileDialog(th,"保存文件...",FileDialog.SAVE);

saveFile.setVisible(true);

savePath=saveFile.getDirectory()+saveFile.getFile();

}

try

{

FileOutputStreamfos=newFileOutputStream(savePath);

fos.write(text.getText().getBytes());

fos.close();

}

catch(Exceptionex)

{

ex.printStackTrace();

}

if(source==save)

openedPath=savePath;

}

打开:

if(source==open)

{

FileDialogopenFile=newFileDialog(th,"打开文件...",FileDialog.LOAD);

openFile.setVisible(true);

StringfilePath=openFile.getDirectory()+openFile.getFile();

try

{

FileInputStreamfis=newFileInputStream(filePath);

byte[]content=newbyte[fis.available()];

fis.read(content);

text.setText(newString(content));

text.setCaretPosition(0);

if(openFile.getFile()!

=null)

{

th.setTitle(openFile.getFile()+name);

openedPath=filePath;

opened=true;

}

fis.close();

}

catch(Exceptionex)

{

ex.printStackTrace();

}

opened=true;

}

颜色:

elseif(source==color)

{

Colorcolor=JColorChooser.showDialog(text,"选择颜色",Color.BLACK);

text.setForeground(color);

}

 

第4章系统调试运行

4.1“文件”运行状况

图4.1文件

4.2“编辑”运行状况

 

图4.2编辑

4.3“格式”运行状况

 

图4.3格式

4.4“帮助”运行状况

图4.4帮助

 

第5章课程设计体会

这次综合实验我很早就开始准备了,在代码上花费的时间也很多。

我深深地体会到编出一个程序是不容易的,编好一个程序更是不容易的。

在很多功能上,比如说在“关闭”“新建”“打开”记事本时,如果文本没保存或者又被修改,要弹出“询问保存”的对话框,我设置好这一项后,再测试,另一项又出问题了,反复测试反复修改,研究问题的所在。

其实这些或许是没必要的,但是一个程序真正的要做到“健壮性”不出现BUG,确实要下功夫的。

通过这次实验,我还明白了,我们应该学会是如何学习的方法而不仅仅是知识。

JAVA世界很大很开阔,书上的

那些知识太少了,课堂上的时间是有限的,我们应该掌握的是学习的方法,比如说学会如果查API解决问题。

读别人的程序是一个不错的方法,在别人的程序中我学到了很多知识。

可能仅仅是几句代码就会使程序得到很大的改善。

比如说我记事本构造方法开头中有一个设置“观感”的语句,这就是我在看别人的程序时看到的,加上这几句后记事本的样式就得到了很大改变,看上去和Windows的记事本差不了多少了。

编程序还是要多练习,练得多了就熟练了,对知识的掌握也更加深入了。

这次综合实验是我第一次独立地编写了一个完整的程序,虽然还有很多不足,但毕竟也是自己的心血啊,对于这个结果自己还是很满意很欣慰的,更重要的是我收获了很多,无论是专业知识还是学习方法,我相信对我以后的生活和学习都会产生积极影响的!

 

第6章参考文献

1:

孙涛,Java语言课程设计实践教程.北京:

清华大学出版社,2012.

2:

张思民.Java语言程序设计.北京:

清华大学出版社,2007.

 

附录:

源代码

importjava.io.*;

importjava.awt.*;

importjavax.swing.*;

importjava.util.Date;

importjava.awt.event.*;

publicclassNotebookextendsJFrame

{

JMenuBarmenub=newJMenuBar();

JTextAreatext=newJTextArea();

JMenufiles=newJMenu("文件(F)");

JMenuedit=newJMenu("编辑(E)");

JMenuformats=newJMenu("格式(O)");

JMenuhelp=newJMenu("帮助(H)");

JMenuItemnewFile=newJMenuItem("新建(N)");

JMenuItemopen=newJMenuItem("打开(O)...");

JMenuItemsave=newJMenuItem("保存(S)");

JMenuItemexit=newJMenuItem("退出(X)");

 

JMenuItemcut=newJMenuItem("剪切(T)");

JMenuItemcopy=newJMenuItem("复制(C)");

JMenuItempaste=newJMenuItem("粘贴(P)");

JMenuItemselectAll=newJMenuItem("全选(A)");

JMenuItemcolor=newJMenuItem("字体颜色(C)...");

JMenuItemabout=newJMenuItem("关于记事本(A)");

JPopupMenupopupMenu=newJPopupMenu();

JMenuItemMenuMouseCut=newJMenuItem("剪切(T)");

JMenuItemMenuMouseCopy=newJMenuItem("复制(C)");

JMenuItemMenuMousePaste=newJMenuItem("粘贴(P)");

JMenuItemMenuMouseselectAll=newJMenuItem("全选(A)");

JFrameth=this;

Stringname;

StringopenedPath=null;

booleanopened=false;

booleanreworked=false;

Notebook(Stringname)

{

super(name);

this.name=name;

intx,y;

Dimensionsize=Toolkit.getDefaultToolkit().getScreenSize();

x=(size.width-600)/2;

y=(size.height-400)/2;

setSize(600,400);

setLocation(x,y);

setMinimumSize(newDimension(250,150));

setDefaultCloseOperation(EXIT_ON_CLOSE);

}

voidinit()

{

files.setMnemonic('F');

edit.setMnemonic('E');

formats.setMnemonic('O');

help.setMnemonic('H');

newFile.setMnemonic('N');

open.setMnemonic('O');

save.setMnemonic('S');

exit.setMnemonic('X');

cut.setMnemonic('T');

copy.setMnemonic('C');

paste.setMnemonic('P');

selectAll.setMnemonic('A');

color.setMnemonic('C');

about.setMnemonic('A');

newFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));

open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));

save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));

exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,InputEvent.CTRL_MASK));

cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));

copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));

paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));

selectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));

files.add(newFile);

files.add(open);

files.add(save);

files.addSeparator();

files.add(exit);

edit.addSeparator();

edit.add(cut);

edit.add(copy);

edit.add(paste);

edit.addSeparator();

edit.add(selectAll);

formats.add(color);

help.add(about);

menub.add(files);

menub.add(edit);

menub.add(formats);

menub.add(help);

setJMenuBar(menub);

getContentPane().add(newJScrollPane(text));

popupMenu.add(MenuMouseCut);

popupMenu.add(MenuMouseCopy);

popupMenu.add(MenuMousePaste);

popupMenu.add(MenuMousePaste);

popupMenu.add(MenuMouseselectAll);

Listenlisten=newListen();

Listen1listen1=newListen1();

newFile.addActionListener(listen);

open.addActionListener(listen);

save.addActionListener(listen);

exit.addActionListener(listen);

cut.addActionListener(listen);

copy.addActionListener(listen);

paste.addActionListener(listen);

selectAll.addActionListener(listen);

color.addActionListener(listen);

about.addActionListener(listen);

open.addActionListener(listen1);

save.addActionListener(listen1);

text.addMouseListener(newMouseAdapter()

{

publicvoidmousePressed(MouseEvente){checkForTriggerEvent(e);}

publicvoidmouseReleased(MouseEvente){checkForTriggerEvent(e);}

privatevoid

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

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2