java 课程设计报告JAVA桌面应用程序设计开发.docx

上传人:b****7 文档编号:9624133 上传时间:2023-02-05 格式:DOCX 页数:17 大小:533.84KB
下载 相关 举报
java 课程设计报告JAVA桌面应用程序设计开发.docx_第1页
第1页 / 共17页
java 课程设计报告JAVA桌面应用程序设计开发.docx_第2页
第2页 / 共17页
java 课程设计报告JAVA桌面应用程序设计开发.docx_第3页
第3页 / 共17页
java 课程设计报告JAVA桌面应用程序设计开发.docx_第4页
第4页 / 共17页
java 课程设计报告JAVA桌面应用程序设计开发.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

java 课程设计报告JAVA桌面应用程序设计开发.docx

《java 课程设计报告JAVA桌面应用程序设计开发.docx》由会员分享,可在线阅读,更多相关《java 课程设计报告JAVA桌面应用程序设计开发.docx(17页珍藏版)》请在冰豆网上搜索。

java 课程设计报告JAVA桌面应用程序设计开发.docx

java课程设计报告JAVA桌面应用程序设计开发

湖南工业大学

课程设计

资料袋

理学院学院(系、部)2011-2012学年第2学期

课程名称JAVA面向对象程序设计指导教师职称副教授

学生姓名专业班级学号

题目JAVA桌面应用程序设计开发

成绩起止日期2012年06月20日~2012年07月01日

目录清单

序号

材料名称

资料数量

备注

1

课程设计任务书

1

2

课程设计说明书

1

3

附件:

课程设计主要模块实现代码

1

4

5

6

 

湖南工业大学

课程设计任务书

2010—2011学年第2学期

理学院学院(系、部)信息与计算科学专业102班

课程名称:

JAVA面向对象程序设计

设计题目:

JAVA桌面应用程序设计开发

完成期限:

自2012年06月20日至2012年07月01日共2周

设计的任务:

1.使用NetBeans集成开发环境构建Swing的综合应用程序,项目名称为acitonlist;2.使用NetBeans集成开发环境开发使用复合布局管理器的程序,项目名称为cardmanage;3.使用NetBeans集成开发环境构建使用GifEncoder编码器程序,项目名称为image;4.使用NetBeans集成开发环境开发使用表格模型的程序,项目名称为table。

内容包括:

Swing库中包及其功能了解、事件模型基础、Swing常用基本控件、Swing常用高级控件、布局管理器、Swing菜单、Java图像处理、表格的高级应用等。

起止日期

工作内容

2012.06.20~2012.06.21

项目acitonlist设计

2012.06.22~2012.06.24

项目cardmanage设计

2012.06.27~2012.06.28

项目image设计

2012.06.29~2012.06.30

项目table设计

2012.07.01

整理资料,书写文档

[1]耿祥义,张跃平.JAVA面向对象程序设计.北京:

清华大学出版社,2010.

[2]吴亚峰,王鑫磊.NetBeans-Java桌面、Web与企业级程序开发祥解.北京:

人民邮电出版社,2007

指导教师(签字):

年月日

系(教研室)主任(签字):

年月日

 

(JAVA桌面应用程序设计开发)

设计说明书

Java面向对象程序设计课程设计

JAVA桌面应用程序设计开发

起止日期:

2012年06月20日至2012年07月01日

 

学生姓名

颜琰

班级

信息与计算科学102班

学号

10411100211

成绩

指导教师(签字)

 

理学院

2012年07月04日

项目一:

名片管理系统

项目内容、要求:

实现名片的添加,和查看功能

任务及需求分析:

1)名片管理系统界面布局设计;

2)各种功能的代码实现;

3)运行测试程序,调试纠正运行错误;

4)调试无误,运行,测试具体编辑功能;

5)功能模块设计:

新建一个java图形化界面,用代码实现简单的名片添加和查看的功能;

名片管理系统的模块设计图如下:

1:

首先在swing界面中新建一个如图所示的窗体:

其中,将要实现单选的单选按钮放在同一个按钮组中;

然后,写功能事件,

2.清空事件:

在from对应的类中新建一个清空的clearAll()方法如下:

publicvoidclearAll(){

this.jTextFieldAddress.setText("");

this.jTextFieldPhone.setText(null);

this.jTextFieldName.setText(null);

this.jTextFieldEmail.setText(null);

this.jCheckBoxDance.setSelected(false);

this.jCheckBoxChat.setSelected(false);

this.jCheckBoxSing.setSelected(false);

this.jCheckBoxBasketball.setSelected(false);

this.jCheckBoxFootball.setSelected(false);

this.jCheckBoxVolleyball.setSelected(false);

this.jRadioButtonBachelor.setSelected(false);

this.jRadioButtonDoctor.setSelected(false);

this.jRadioButtonMaster.setSelected(false);

this.jRadioButtonOther.setSelected(false);

}

之后在按钮事件中调用上面的方法,写上下面的代码:

clearAll();

3.爱好,学历选择事件:

在爱好按钮事件中调用卡式布局中的爱好面板并显示出来写上如下代码:

jPanelFavor.setVisible(true);

在学历选择事件中调用卡式布局中的学历面板并显示出来写上如下代码:

jPanelDegree.setVisible(true);

4.添加事件:

在主类中实例化两个类,并导包,代码如下:

importjava.util.*;//其中包含Vector和Hashtable两个集合

VectorvectorListCard=newVector();//新建集合对象

HashtablehashCardInfo=newHashtable();//新建集合对象

在同包下新建一个类用来映射Swing控件的属性及状态:

命名为CardInfo,新建成员变量,代码如下:

privateStringname;

privateStringaddress;

privateStringphone;

privateStringemail;

privatebooleansingState;

privatebooleandanceState;

privatebooleanchatState;

privatebooleanfootBallState;

privatebooleanbaskeBallState;

privatebooleanvolleyBallState;

privatebooleanbachelorState;

privatebooleanmasterState;

privatebooleandoctorState;

privatebooleanotherState;

并设置getandset方法:

在窗体类中新建getCardInfo方法用来获取Swing控件中的属性及状态,代码如下:

publicCardInfogetCardInfo(){

CardInfocardInfo=newCardInfo();

cardInfo.setName(this.jTextFieldName.getText());

cardInfo.setAddress(this.jTextFieldAddress.getText());

cardInfo.setPhone(this.jTextFieldPhone.getText());

cardInfo.setEmail(this.jTextFieldEmail.getText());

cardInfo.setSingState(this.jCheckBoxSing.isSelected());

cardInfo.setChatState(this.jCheckBoxChat.isSelected());

cardInfo.setDanceState(this.jCheckBoxDance.isSelected());

cardInfo.setFootBallState(this.jCheckBoxFootball.isSelected());

cardInfo.setVolleyBallState(this.jCheckBoxVolleyball.isSelected());

cardInfo.setBaskeBallState(this.jCheckBoxBasketball.isSelected());

cardInfo.setBachelorState(this.jRadioButtonBachelor.isSelected());

cardInfo.setDoctorState(this.jRadioButtonDoctor.isSelected());

cardInfo.setMasterState(this.jRadioButtonMaster.isSelected());

cardInfo.setOtherState(this.jRadioButtonOther.isSelected());

returncardInfo;

}

在添加按钮事件中写上如下代码:

CardInfocardInfo=this.getCardInfo();

hashCardInfo.put(cardInfo.getName(),cardInfo);

vectorListCard.add(cardInfo.getName());

this.jListCardList.setListData(vectorListCard);

this.clearAll();

5.添加新名片事件:

在窗体类中新建setState方法,代码如下:

publicvoidsetState(booleanflag){

this.jListCardList.setEnabled(!

flag);

this.jTextFieldAddress.setEditable(flag);

this.jTextFieldPhone.setEditable(flag);

this.jTextFieldName.setEditable(flag);

this.jTextFieldEmail.setEditable(flag);

this.jButtonAdd.setEnabled(flag);

this.jButtonDelete.setEnabled(flag);

this.jCheckBoxDance.setEnabled(flag);

this.jCheckBoxChat.setEnabled(flag);

this.jCheckBoxSing.setEnabled(flag);

this.jCheckBoxBasketball.setEnabled(flag);

this.jCheckBoxFootball.setEnabled(flag);

this.jCheckBoxVolleyball.setEnabled(flag);

this.jRadioButtonBachelor.setEnabled(flag);

this.jRadioButtonDoctor.setEnabled(flag);

this.jRadioButtonMaster.setEnabled(flag);

this.jRadioButtonOther.setEnabled(flag);

}

在添加新名片按钮事件中写上如下代码:

setState(true);

clearAll();

6.查看已有名片事件:

在窗体类中新建getCardInfo方法,代码如下:

publicCardInfogetCardInfo(){

CardInfocardInfo=newCardInfo();

cardInfo.setName(this.jTextFieldName.getText());

cardInfo.setAddress(this.jTextFieldAddress.getText());

cardInfo.setPhone(this.jTextFieldPhone.getText());

cardInfo.setEmail(this.jTextFieldEmail.getText());

cardInfo.setSingState(this.jCheckBoxSing.isSelected());

cardInfo.setChatState(this.jCheckBoxChat.isSelected());

cardInfo.setDanceState(this.jCheckBoxDance.isSelected());

cardInfo.setFootBallState(this.jCheckBoxFootball.isSelected());

cardInfo.setVolleyBallState(this.jCheckBoxVolleyball.isSelected());

cardInfo.setBaskeBallState(this.jCheckBoxBasketball.isSelected());

cardInfo.setBachelorState(this.jRadioButtonBachelor.isSelected());

cardInfo.setDoctorState(this.jRadioButtonDoctor.isSelected());

cardInfo.setMasterState(this.jRadioButtonMaster.isSelected());

cardInfo.setOtherState(this.jRadioButtonOther.isSelected());

returncardInfo;

}

在查看已有名片事件中写上如下代码:

setState(false);

在名片列表事件中写上如下代码:

StringselectedCardName=(String)jListCardList.getSelectedValue();

CardInfocardInfo=(CardInfo)hashCardInfo.get(selectedCardName);

this.setCardInfo(cardInfo);

其实,在每一个功能完成之后都应该测试的,当然做完之后还得测试,测试结果如下:

点击添加新名片,可输入名片的信息:

点击清空:

将清空你之前的操作

点击添加:

名片列表中就多了一项。

点击查看已有名片:

右边变成不可编辑

再点击名片列表中的姓名:

显示名片信息,但不可编辑。

项目二:

浏览打开特定的文件

1.新建一个java窗体:

如图

2.在java窗体类中并行新建两个类,代码如下:

classTxtFliterextendsFileFilter{

booleanflag;

publicbooleanaccept(Filefile){

if(file.getName().toLowerCase().endsWith(".txt")){

flag=true;

}elseif(file.isDirectory()){

flag=true;

}else{

flag=false;

}

returnflag;

}

publicStringgetDescription(){

return"TXT文件";

}

}

classjavaFliterextendsFileFilter{

booleanflag;

publicbooleanaccept(Filefile){

if(file.getName().toLowerCase().endsWith(".java")){

flag=true;

}elseif(file.isDirectory()){

flag=true;

}else{

flag=false;

}

returnflag;

}

publicStringgetDescription(){

return"java文件";

}

}

3.在主类中导入一下几个包:

importjava.io.*;

importjavax.swing.filechooser.*;

importjavax.swing.*;

4.在打开按钮事件中写上如下代码:

fileChooser.showOpenDialog(this);

FileselectFile=fileChooser.getSelectedFile();

if(selectFile==null)

{

JOptionPane.showMessageDialog(this,"你没有选择要打开的文件!

","提示:

",JOptionPane.INFORMATION_MESSAGE);

return;

}

else

{

intchoose=JOptionPane.showConfirmDialog(this,"你确定要打开该文件吗","请确认",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);

if(choose==JOptionPane.NO_OPTION)

{

JOptionPane.showMessageDialog(this,"你取消了打开文件!

","提示:

",JOptionPane.INFORMATION_MESSAGE);

return;

}else

{

try

{

intsize=(int)selectFile.length();

byte[]tempArray=newbyte[size];

FileInputStreamfin=newFileInputStream(selectFile);

fin.read(tempArray);

StringtempString=newString(tempArray);

this.jTextArea1.setText(tempString);

}

catch(IOExceptione)

{

e.printStackTrace();

}

}

5.测试项目:

如下效果

点击打开:

但只能打开java和txt文件,下面可以选择java文件或txt文件

单击打开想过如下:

单击否效果如下:

如果单击确定,不单击否,效果如下:

此时,已将文件打开在下面的文本域中。

项目测试完毕!

综上所述,是我的两个项目的课程设计报告,谢谢老师的悉心教导,祝老师身体健康,万事如意!

 

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

当前位置:首页 > 解决方案 > 商业计划

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

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