JAVA实训报告模版.docx

上传人:b****7 文档编号:23775817 上传时间:2023-05-20 格式:DOCX 页数:26 大小:23.49KB
下载 相关 举报
JAVA实训报告模版.docx_第1页
第1页 / 共26页
JAVA实训报告模版.docx_第2页
第2页 / 共26页
JAVA实训报告模版.docx_第3页
第3页 / 共26页
JAVA实训报告模版.docx_第4页
第4页 / 共26页
JAVA实训报告模版.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

JAVA实训报告模版.docx

《JAVA实训报告模版.docx》由会员分享,可在线阅读,更多相关《JAVA实训报告模版.docx(26页珍藏版)》请在冰豆网上搜索。

JAVA实训报告模版.docx

JAVA实训报告模版

 

JAVA程序设计

综合实训

专业:

_______计算机网络技术______

班级:

_______**网络

(一)班___________

姓名:

_______*****______________

项目名称:

《记事本》

开始时间:

___2012年**月**日__

完成时间:

___2012年**月**日___

指导教师:

张老师

实训地点:

5#508机房

评分成绩:

_______________________

一、实训目的

培养学生掌握一门计算机高级语言,掌握可视化、面向对象程序设计的基本技术和方法。

经过这个学期的学习后,能不能把学习的知识综合串联起来,java的实训项目的制作可以有效的检验这一点。

进行综合项目实训可以练习java软件开发的环境和配置,能够把java的面向对象技术、数据结构、图形界面、线程、网络知识、小应用程序等知识运用到实践中去,从而更好地理解java的各项知识,达到能够应用自如的地步。

进行实训的同时还需要查阅大量的文档,可以锻炼同学的自学能力。

二、实训内容

各题内容和要求如下(只需选择其中之一做):

1.幻灯片播放程序

至少含4张幻灯片,每张含有不同的文字,如:

“第一部分”、“第二部分”等,以及图片,且有上翻和下翻页按钮,播放时从第一张开始。

可用JavaApplication或Applet程序实现,主要知识点有:

图形界面、容器和卡片布局、事件处理等。

2.计算器程序

可进行加减乘除等二元运算和求平方、平方根、正弦等一元运算,具有清零、退格、小数点校验(不允许输入两个以上小数点)等功能。

主要知识点有:

图形界面、容器和布局、事件处理、数据类型及数据转换、运算符和表达式等。

3.商场促销计价程序

关于商场促销货款打折计算的程序,即所谓让利顾客,优惠标准如下:

①购物款额在5000元以上者,按7折优惠。

②购物款额在2000元以上但不足5000元者,按7.5折优惠。

③购物款额在1000元以上但不足2000元者,按8折优惠。

④购物款额在500元以上但不足1000元者,按8.5折优惠。

⑤购物款额在300元以上但不足500元者,按9折优惠。

⑥购物款额在100元以上但不足300元者,按9.5折优惠。

⑦购物款额不足100元者,没有优惠。

要求运行程序后,只要输入您所购买的商品总款额,即可计算出经打折后的实付款额并显示出来。

还可通过执行菜单或单击按钮,把所输入的数据和计算结果保存到文本文件中。

主要知识点有:

图形界面、容器和布局、事件处理、数据类型及数据转换、表达式计算、分支语句等。

4.考试成绩排名成绩

关于学生考试单科成绩(或总成绩)排名的程序,要求运行该程序后,输入一个班或一个年级某门课程的考试分数(或所有课程考试总分数),便可按分数从高到低把名次一一排列出来。

其中分数保留一位小数。

要求在程序代码中保存10名学生的成绩,并且运行程序后,在文本区即可看到学号从1到10共10位学生的单科考试成绩,以此作为演示例子。

附加功能:

通过执行菜单或单击按钮,把所输入的数据和排名结果保存到文本文件中。

主要知识点有:

图形界面、容器和布局、事件处理、数据类型及数据转换、表达式计算、数组、循环语句、排序等点。

5.智能(或自动化)交通控制程序

模拟车辆在马路上行驶并通过十字路口的情形。

功能参考:

(1)按固定时间段控制红绿灯,以控制南北和东西方向汽车通过十字路口

()或者改变固定时间段控制红绿灯这一传统的机械模式,而是根据十字路口各方向的交通情况,自动化、智能化控制车辆通过十字路口。

即如果东西方向很繁忙,而南北方向没有车辆,则交通灯自动调整为东西方向绿灯(而南北方向为红灯)。

同理,对南北方向繁忙的情况也是如此。

如果东西和南北方向都没有车辆,则两边的交通灯均为绿灯,这时,哪一方向的车辆先进入十字路口范围,另一方向的交通灯自动变为红色,表示不允许该方向的车辆再进入十字路口(否则会发生撞车),直到十字路口没有车辆,该方向的交通灯才变为绿色。

要求有2路或以上的车辆或其他交通工具同时在马路上行走,并且每路车的速度各不相同。

主要知识点有:

图形界面、容器和布局、图形绘制、循环语句、多线程及其处理机制等。

每个同学也可以自己选择一个题目,要求不能抄袭他人作品,独立完成任务。

三、课程设计项目内容和简介(在此填入项目名称和进行项目设计的背景及简单介绍)

四、系统环境(开发、运行的硬件环境和软件环境)

操作系统:

windowsxp

内存:

1G;

Cpu:

InterCeleron1G;

JDK版本:

1.5;

五、进度计划及执行情况

日期

任务安排

执行情况

2008-1-7

了解计事本的基本功能,并实现基本的

框架

基本框架搭建好了

功能实现

方法

进行了整个窗口的布局

调试结果

最后程序能正常运行

错误原因

分析

遇到的问题是:

在开始时,文本域控件JText没有滚动条

改正情况

经过查API函数。

在JScrollPane中添加文本域控件。

在将JScollPane解决了问题。

日期

任务安排

执行情况

2007-1-8

实现文件的打开和保存功能

对文件进行正确的读写

功能实现

方法

文件的打开和保存功能

调试结果

对文件可以进行正确的读写。

错误原因

分析

刚开始进行文件读写操作时,用的是字节流,读出来的都是乱码。

数据的流使用错了。

改正情况

使用了字符流解决了问题

日期

任务安排

执行情况

2008-1-9

实现字体风格和小的设置

可以对字体进行正确设置

功能实现

方法

字体名是调用系统的,字号用的是8-99号字,颜色调用java的颜色面板

调试结果

可以对字体的字体,字号,还有字体颜色进行相关设置,新建文件后,原来的字体颜色还保留着

错误原因

分析

在新建时没有进行颜色的设置

改正情况

在新建后可以解决该问题

日期

任务安排

执行情况

2008-1-10

实现查找和替换功能

可以正确进行查找和替换

功能实现

方法

应用的是String常用的几个方法

调试结果

可以进行查找和替换还有点功能上的欠缺

错误原因

分析

查找到到最后一个时。

不能返回重新查找

改正情况

有待改进

日期

任务安排

执行情况

2008-1-11

实现字体风格的保存,保证打开后,能保持原来的风格。

功能已经实现

功能实现

方法

将字体风格保存到另一个文件中,打开文本时,也同时读取该文件,重新进行字体的设置。

调试结果

遇到过的一次错误是,颜色不能正常显示,改进过,后来程序可以实现文本打开后字体维持原状。

错误原因

分析

错误的使用颜色的函数

改正情况

已经没有问题,可以正常显示颜色。

六、程序清单

importjava.awt.*;

importjava.awt.event.*;

importjava.io.*;

importjava.awt.GraphicsEnvironment;

importjavax.swing.*;

importjava.util.*;

importjava.awt.Graphics;

classMyTextPadextendsFrameimplementsActionListener

{

JTextAreatext;

JScrollPanejsp;

PopupMenupopm;

Datedate=newDate();

Stringstr="";

Dialogd,About;

Choicec1,c2,c3;

Buttonbtn1,btn2;

StringStr1="宋体",Str2="普通",Str3="15";

inttemp=0;

intRed=0,Green=0,Blue=0;

LabellFind=newLabel("查找字符串:

");

LabellReplace=newLabel("替换字符串:

");

TextFieldtFind=newTextField(10);

TextFieldtReplace=newTextField(10);

ButtonbFind=newButton("查找");

ButtonbReplace=newButton("替换");

ButtonbReplaceAll=newButton("替换所有");

Dialogdialog;

DialogfindD;

publicMyTextPad(Stringstr)

{

super(str);

text=newJTextArea();

text.setFont(newFont("宋体",0,15));

jsp=newJScrollPane(text);

add("Center",jsp);

findD=newDialog(this);

addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

{

dispose();

}

}

);

d=newDialog(this,"字体选择");

d.setBounds(150,150,320,200);

findD.addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

{

findD.setVisible(false);

}

}

);

d.addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

{

d.setVisible(false);

}

}

);

c1=newChoice();c2=newChoice();c3=newChoice();

GraphicsEnvironmentge=GraphicsEnvironment.getLocalGraphicsEnvironment();

StringfontName[]=ge.getAvailableFontFamilyNames();

for(inti=0;i

{

c1.add(fontName[i]);

}

c2.add("粗体");

c2.add("斜体");

c2.add("粗体与斜体");

c2.add("普通");

for(inti=8;i<100;i++)

{

c3.add(""+i);

}

Panelp1=newPanel();

Panelp2=newPanel();

p1.add(c1);

p1.add(c2);

p1.add(c3);

btn1=newButton("确定");

btn2=newButton("取消");

d.setLayout(newGridLayout(5,3));

d.add(p1);

p2.add(btn1);

btn1.addActionListener(this);

btn2.addActionListener(this);

p2.add(btn2);

d.add(p2);

About=newDialog(this,"关于");

About.addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

{

About.setVisible(false);

}

}

);

About.setBounds(300,300,150,150);

About.add(newLabel("蒋俊涛的计事体1.0版本"));

Menumn=newMenu("文件");

MenuItemmiNewFile=newMenuItem("新建",newMenuShortcut(KeyEvent.VK_N));

MenuItemmiOpenFile=newMenuItem("打开",newMenuShortcut(KeyEvent.VK_O));

MenuItemmiSaveFile=newMenuItem("保存",newMenuShortcut(KeyEvent.VK_S));

MenuItemmiExit=newMenuItem("退出",newMenuShortcut(KeyEvent.VK_E));

mn.add(miNewFile);

mn.add(miOpenFile);

mn.add(miSaveFile);

mn.addSeparator();

mn.add(miExit);

miNewFile.addActionListener(this);

miOpenFile.addActionListener(this);

miSaveFile.addActionListener(this);

miExit.addActionListener(this);

Menumn1=newMenu("编辑");

MenuItemmiSelectAll=newMenuItem("全选",newMenuShortcut(KeyEvent.VK_P));

MenuItemmiClear=newMenuItem("清空",newMenuShortcut(KeyEvent.VK_S));

MenuItemmiCopy=newMenuItem("复制",newMenuShortcut(KeyEvent.VK_C));

MenuItemmiPaste=newMenuItem("粘贴",newMenuShortcut(KeyEvent.VK_V));

MenuItemmiCut=newMenuItem("剪切",newMenuShortcut(KeyEvent.VK_T));

MenuItemmiFind=newMenuItem("查找",newMenuShortcut(KeyEvent.VK_D));

MenuItemmiReplace=newMenuItem("替换",newMenuShortcut(KeyEvent.VK_R));

MenuItemmiAuto=newMenuItem("自动换行");

miAuto.addActionListener(this);

mn1.add(miSelectAll);

mn1.add(miClear);

mn1.add(miCopy);

mn1.add(miPaste);

mn1.add(miCut);

mn1.addSeparator();

mn1.add(miFind);

mn1.add(miReplace);

mn1.add(miAuto);

miSelectAll.addActionListener(this);

miClear.addActionListener(this);

miCopy.addActionListener(this);

miPaste.addActionListener(this);

miCut.addActionListener(this);

miFind.addActionListener(this);

miReplace.addActionListener(this);

Menumn2=newMenu("格式");

MenuItemmiFont=newMenuItem("字体",newMenuShortcut(KeyEvent.VK_F));

MenuItemmiColor=newMenuItem("颜色选择",newMenuShortcut(KeyEvent.VK_K));

MenuItemmiTime=newMenuItem("插入时间",newMenuShortcut(KeyEvent.VK_T));

miFont.addActionListener(this);

miColor.addActionListener(this);

miTime.addActionListener(this);

mn2.add(miFont);

mn2.add(miColor);

mn2.add(miTime);

Menumn3=newMenu("帮助");

MenuItemmiAbout=newMenuItem("关于",newMenuShortcut(KeyEvent.VK_A));

miAbout.addActionListener(this);

mn3.add(miAbout);

FileDialogfindDlg=newFileDialog(this);

Panelp5=newPanel();

Panelp6=newPanel();

Panelp7=newPanel();p7.setLayout(newGridLayout(1,2,30,30));

p5.add(lFind);p5.add(tFind);p5.add(bFind);tFind.addActionListener(this);bFind.addActionListener(this);

p6.add(lReplace);p6.add(tReplace);p7.add(bReplace);p7.add(bReplaceAll);p6.add(p7);

tReplace.addActionListener(this);bReplace.addActionListener(this);bReplaceAll.addActionListener(this);

findD.setLayout(newGridLayout(2,1,10,10));

findD.setResizable(false);

findD.add(p5);

findD.add(p6);

findD.setBounds(100,100,260,190);

//弹出PopupMenu

popm=newPopupMenu();

MenuItemOpenFile=newMenuItem("打开");

MenuItemSaveFile=newMenuItem("保存");

MenuItemSelectAll=newMenuItem("全选");

MenuItemCopy=newMenuItem("复制");

MenuItemPaste=newMenuItem("粘贴");

MenuItemCut=newMenuItem("剪切");

OpenFile.addActionListener(this);

SaveFile.addActionListener(this);

SelectAll.addActionListener(this);

Copy.addActionListener(this);

Paste.addActionListener(this);

Cut.addActionListener(this);

popm.add(OpenFile);

popm.add(SaveFile);

popm.add(SelectAll);

popm.add(Copy);

popm.add(Paste);

popm.add(Cut);

text.add(popm);

text.addMouseListener(newMyMouseEvent(this));

MenuBarBar=newMenuBar();

Bar.add(mn);

Bar.add(mn1);

Bar.add(mn2);

Bar.add(mn3);

setMenuBar(Bar);

setSize(800,600);

setVisible(true);

}

classMyMouseEventextendsMouseAdapter

{

MyTextPadmyParentFrame;

MyMouseEvent(MyTextPadmyf)

{

myParentFrame=myf;

}

publicvoidmouseReleased(MouseEvente)

{

if(e.isPopupTrigger())

myParentFrame.popm.show((Component)e.getSource(),e.getX(),e.getY());

}

}

publicvoidactionPerformed(ActionEvente)

{

StringstrCmd=e.getActionCommand();

if(strCmd.equals("新建"))

{

text.setFont(newFont(Str1,Font.PLAIN,15));

text.setForeground(Color.black);

text.setText("");

}

try

{

if(strCmd.equals("打开"))

{

openFile();

}

if(strCmd.equals("保存"))

{

saveFile();

}

}catch(IOExceptione1){}

if(strCmd.equals("退出"))

{

System.exit(0);

}

if(strCmd.equals("全选"))

{

text.selectAll();

}

if(strCmd.equals("清空"))

{

text.setText("");

}

if(strCmd.equals("复制"))

{

str=text.getSelectedText();

}

if(strCmd.equals("粘贴"))

{

text.insert(str,text.getCaretPosition());

}

if(strCmd.equals("剪切"))

{

str=text.getSelectedText();

text.replaceRange("",text.getSelectionStart(),text.getSelectionEnd());

}

if(strCmd.equals("字体"))

{

d.setVisible(true);

}

if(strCmd.equals("颜色

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

当前位置:首页 > 初中教育 > 语文

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

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