JAVA实训报告模版.docx
- 文档编号:23775817
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:26
- 大小:23.49KB
JAVA实训报告模版.docx
《JAVA实训报告模版.docx》由会员分享,可在线阅读,更多相关《JAVA实训报告模版.docx(26页珍藏版)》请在冰豆网上搜索。
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("颜色
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 报告 模版
![提示](https://static.bdocx.com/images/bang_tan.gif)