JAVA实训报告模版.doc_第1页
JAVA实训报告模版.doc_第2页
JAVA实训报告模版.doc_第3页
JAVA实训报告模版.doc_第4页
JAVA实训报告模版.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA程序设计综合实训 专 业:_ 计算机网络技术_ 班 级:_ *网络(一)班_ _ 姓 名:_ *_项目名称: 记事本 开始时间:_ 2012年*月*日_ 完成时间:_ 2012年*月*日_ 指导教师: 张老师 实训地点: 5#508机房 评分成绩:_ 18一、 实训目的培养学生掌握一门计算机高级语言,掌握可视化、面向对象程序设计的基本技术和方法。经过这个学期的学习后,能不能把学习的知识综合串联起来,java的实训项目的制作可以有效的检验这一点。进行综合项目实训可以练习java软件开发的环境和配置,能够把java的面向对象技术、数据结构、图形界面、线程、网络知识、小应用程序等知识运用到实践中去,从而更好地理解java的各项知识,达到能够应用自如的地步。进行实训的同时还需要查阅大量的文档,可以锻炼同学的自学能力。二、 实训内容 各题内容和要求如下(只需选择其中之一做):1幻灯片播放程序至少含4张幻灯片,每张含有不同的文字,如:“第一部分”、“第二部分”等,以及图片,且有上翻和下翻页按钮,播放时从第一张开始。可用Java Application或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路或以上的车辆或其他交通工具同时在马路上行走,并且每路车的速度各不相同。主要知识点有:图形界面、容器和布局、图形绘制、循环语句、多线程及其处理机制等。每个同学也可以自己选择一个题目,要求不能抄袭他人作品,独立完成任务。三、课程设计项目内容和简介(在此填入项目名称和进行项目设计的背景及简单介绍)四、系统环境(开发、运行的硬件环境和软件环境)操作系统:windows xp内存:1G;Cpu:Inter Celeron 1G;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实现字体风格的保存,保证打开后,能保持原来的风格。功能已经实现功能实现方法将字体风格保存到另一个文件中,打开文本时,也同时读取该文件,重新进行字体的设置。调试结果遇到过的一次错误是,颜色不能正常显示,改进过,后来程序可以实现文本打开后字体维持原状。错误原因分析错误的使用颜色的函数改正情况已经没有问题,可以正常显示颜色。六、程序清单import java.awt.*;import java.awt.event.*;import java.io.*;import java.awt.GraphicsEnvironment;import javax.swing.*;import java.util.*;import java.awt.Graphics;class MyTextPad extends Frame implements ActionListener JTextArea text; JScrollPane jsp; PopupMenu popm; Date date=new Date(); String str=; Dialog d,About; Choice c1,c2,c3; Button btn1,btn2; String Str1=宋体,Str2=普通,Str3=15; int temp=0; int Red=0,Green=0,Blue=0; Label lFind = new Label(查找字符串:); Label lReplace = new Label(替换字符串:); TextField tFind = new TextField(10); TextField tReplace = new TextField(10); Button bFind = new Button(查找); Button bReplace = new Button(替换); Button bReplaceAll=new Button(替换所有); Dialog dialog; Dialog findD; public MyTextPad(String str) super(str); text=new JTextArea(); text.setFont(new Font(宋体,0,15); jsp=new JScrollPane(text); add(Center,jsp); findD=new Dialog(this); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose(); ); d=new Dialog(this,字体选择); d.setBounds(150,150,320,200); findD.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) findD.setVisible(false); ); d.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) d.setVisible(false); ); c1=new Choice();c2=new Choice();c3=new Choice(); GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); String fontName=ge.getAvailableFontFamilyNames(); for(int i=0;ifontName.length;i+) c1.add(fontNamei); c2.add(粗体); c2.add(斜体); c2.add(粗体与斜体); c2.add(普通); for(int i=8;i100;i+) c3.add(+i); Panel p1=new Panel(); Panel p2=new Panel(); p1.add(c1); p1.add(c2); p1.add(c3); btn1=new Button(确定); btn2=new Button(取消); d.setLayout(new GridLayout(5,3); d.add(p1); p2.add(btn1); btn1.addActionListener(this); btn2.addActionListener(this); p2.add(btn2); d.add(p2); About=new Dialog(this,关于); About.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) About.setVisible(false); ); About.setBounds(300,300,150,150); About.add(new Label(蒋俊涛的计事体1.0版本); Menu mn=new Menu(文件); MenuItem miNewFile=new MenuItem(新建,new MenuShortcut(KeyEvent.VK_N); MenuItem miOpenFile=new MenuItem(打开,new MenuShortcut(KeyEvent.VK_O); MenuItem miSaveFile=new MenuItem(保存,new MenuShortcut(KeyEvent.VK_S); MenuItem miExit=new MenuItem(退出,new MenuShortcut(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); Menu mn1=new Menu(编辑); MenuItem miSelectAll=new MenuItem(全选,new MenuShortcut(KeyEvent.VK_P); MenuItem miClear=new MenuItem(清空,new MenuShortcut(KeyEvent.VK_S); MenuItem miCopy=new MenuItem(复制,new MenuShortcut(KeyEvent.VK_C); MenuItem miPaste=new MenuItem(粘贴,new MenuShortcut(KeyEvent.VK_V); MenuItem miCut=new MenuItem(剪切,new MenuShortcut(KeyEvent.VK_T); MenuItem miFind=new MenuItem(查找,new MenuShortcut(KeyEvent.VK_D); MenuItem miReplace=new MenuItem(替换,new MenuShortcut(KeyEvent.VK_R); MenuItem miAuto=new MenuItem(自动换行); 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); Menu mn2=new Menu(格式); MenuItem miFont=new MenuItem(字体,new MenuShortcut(KeyEvent.VK_F); MenuItem miColor=new MenuItem(颜色选择,new MenuShortcut(KeyEvent.VK_K); MenuItem miTime=new MenuItem(插入时间,new MenuShortcut(KeyEvent.VK_T); miFont.addActionListener(this); miColor.addActionListener(this); miTime.addActionListener(this); mn2.add(miFont); mn2.add(miColor); mn2.add(miTime); Menu mn3=new Menu(帮助); MenuItem miAbout=new MenuItem(关于,new MenuShortcut(KeyEvent.VK_A); miAbout.addActionListener(this); mn3.add(miAbout); FileDialog findDlg = new FileDialog(this); Panel p5=new Panel(); Panel p6=new Panel(); Panel p7=new Panel(); p7.setLayout(new GridLayout(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(new GridLayout(2,1,10,10); findD.setResizable(false); findD.add(p5); findD.add(p6); findD.setBounds(100,100,260,190); /弹出PopupMenu popm=new PopupMenu(); MenuItem OpenFile=new MenuItem(打开); MenuItem SaveFile=new MenuItem(保存); MenuItem SelectAll=new MenuItem(全选); MenuItem Copy=new MenuItem(复制); MenuItem Paste=new MenuItem(粘贴); MenuItem Cut=new MenuItem(剪切); 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(new MyMouseEvent(this); MenuBar Bar=new MenuBar(); Bar.add(mn); Bar.add(mn1); Bar.add(mn2); Bar.add(mn3); setMenuBar(Bar); setSize(800,600); setVisible(true); class MyMouseEvent extends MouseAdapter MyTextPad myParentFrame; MyMouseEvent(MyTextPad myf) myParentFrame=myf; public void mouseReleased(MouseEvent e) if(e.isPopupTrigger() myParentFrame.popm.show(Component)e.getSource(),e.getX(),e.getY(); public void actionPerformed(ActionEvent e) String strCmd=e.getActionCommand(); if(strCmd.equals(新建) text.setFont(new Font(Str1,Font.PLAIN,15); text.setForeground(Color.black); text.setText(); try if(strCmd.equals(打开) openFile(); if(strCmd.equals(保存) saveFile(); catch(IOException e1) 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(颜色选择) Color c=JColorChooser.showDialog(this,颜色选择,Color.black); text.setForeground(c); Red=c.getRed(); Green=c.getGreen(); Blue=c.getBlue(); if(e.getSource()=tFind|e.getSource()=bFind) find(); return; if(e.getSource()=tReplace|e.getSource()=bReplace) text.requestFocus(); String s1=tReplace.getText(); if (text.getSelectedText().equals(tFind.getText() int start=text.getSelectionStart(); text.replaceRange(s1, text.getSelectionStart(), text.getSelectionEnd(); text.select(start,start+s1.length(); else find(); return; if(e.getSource()=bReplaceAll) text.requestFocus(); String s1=tReplace.getText(); str = text.getText(); String strFind = tFind.getText(); int start = 0; int end = str.length(); int len = strFind.length(); int count=0; if (start=end-len) for (;start = end - len; start+) if (str.substring(start, start + len).equals(strFind) count+; text.replaceRange(s1, start,start + len); text.select(start,start+s1.length(); if(count=0) JOptionPane.showConfirmDialog(findD,没有找到!,替换提示,JOptionPane.YES_NO_OPTION); else JOptionPane.showConfirmDialog(findD,共替换字符+count+个.,替换提示,JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE); return; if(strCmd.equals(查找) findD.setVisible(true); if(strCmd.equals(替换) findD.setVisible(true); if(strCmd.equals(插入时间) text.setText(text.getText()+date); if(strCmd.equals(确定) String s1=,s2=,s3=; int s; s1=c1.getSelectedItem(); Str1=s1; System.out.print(s1); s2=c2.getSelectedItem(); if(s2.equals(粗体) s=1; else if(s2.equals(斜体) s=2; else if(s2.equals(粗体与斜体) s=3; else s=0; Str2=s2; s3=c3.getSelectedItem(); text.setFont(new Font(s1,s,Integer.parseInt(s3); Str3=s3; d.setVisible(false); if(strCmd.equals(取消) d.setVisible(false); if(strCmd.equals(关于) About.setVisible(true); if(strCmd.equals(自动换行) text.setLineWrap(true); public void openFile() throws IOException String str1=,str2=,string=; int n=0; Color c; FileDialog fd=new FileDialog(this,打开对话框,FileDialog.LOAD); fd.setVisible(true); File file=new File(fd.getDirectory()+fd.getFile(); str1=(fd.getFile().substring(0,(fd.getFile().length()-4); File fStyle=new File(fd.getDirectory()+str1+.css); FileReader fileReader=new FileReader(fStyle); BufferedReader br=new BufferedReader(fileReader,4096); while(str2=br.readLine()!=null) string+=str2; br.close(); System.out.println(string); StringTokenizer str3=new StringTokenizer(string,/); String str4=new String6; while(str3.hasMoreTokens() str4n=str3.nextToken(); n+; System.out.print(str40); Str1=str40; Str2=str41; Str3=str42; Red=Integer.parseInt(str43); Green=Integer.parseInt(str44); Blue=Integer.parseInt(str45); c=new Color(Red,Green,Blue); text.setForeground(c); if(Str2.equals(粗体) temp=1; if(Str2.equals(斜体) temp=2; if(Str2.equals(粗体与斜体) temp=3; if(Str2.equals(普通) temp=0; FileReader fr=new FileReader(file); BufferedReader bufr=new BufferedReader(fr,4096); text.setText(); String texts=,s; while(s=bufr.readLine()!=null) text.setFont(new Font(Str1,temp,Integer.parseInt(Str3); texts+=s+n; text.setText(texts); bufr.close(); public void saveFile() throws IOException FileDialog fd=new FileDialog(this,保存对话框,FileDialog.SAVE); fd.setVisible(true); File file=new File(fd.getDirectory()+fd.getFile()+.txt); File fileStyle=new File(fd.getDirectory()+fd.getFile()+.css); fileStyle.createNewFile(); FileWriter fw =new FileWriter(file); BufferedWrite

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论