Java Applet实验报告.doc_第1页
Java Applet实验报告.doc_第2页
Java Applet实验报告.doc_第3页
Java Applet实验报告.doc_第4页
Java Applet实验报告.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

高级Java程序设计实验指导书 实验项目二 Java Applet设计实验项目二 Java Applet设计实验目的:1了解Applet的生命周期和绘图周期,理解Applet与浏览器之间的关系与交互过程;2了解Java的绘图机制,及实现更为出色绘图效果的Java 2D3学会编写Applet程序。实验要求: 1. 上机实验前,仔细阅读实验指导书,按照每一个实验题目的具体要求提前完成准备工作,如:查找资料、设计算法、写出全部源程序,做好预习笔记,做到有准备地上机。2. 上机实验课内,积极调试及修改程序。得到正确运行结果后,积极主动要求指导教师验收程序,回答指导教师提出的问题。3. 上机实验课后,学生应根据实验数据及结果,完成实验报告。实验报告是评定实验成绩的重要组成部分。完成的实验报告交给实验小组组长,实验小组组长收齐本组的实验报告后统一交指导教师审阅评定。4. 每次上交的实验报告每个实验小组必须有1/5的成员为打印版的实验报告,其他成员可上交电子版的实验报告。由实验小组组长确定交打印版的成员。实验内容: 任务1.编写一个Java Applet程序,该程序使用drawLine方法绘制一个5x9的网格。请提出你的探究问题并回答。 import java.awt.*;import javax.swing.*;import java.applet.*;import java.awt.Graphics;public class GraphicsTester extends Applet public void paint( Graphics g ) resize(200, 500); super.paint( g ); g.setColor(Color.blue); / call superclasss paint method g.drawLine(10, 10,100,10); g.drawLine(10, 20,100,20 ); g.drawLine(10, 30,100,30 ); g.drawLine(10, 40,100,40 ); g.drawLine(10, 50,100,50 ); g.drawLine(10, 60,100,60 ); g.drawLine(10, 10, 10,60 ); g.drawLine(20, 10, 20, 60 ); g.drawLine(30, 10, 30, 60 ); g.drawLine(40, 10, 40, 60 ); g.drawLine(50, 10, 50, 60 ); g.drawLine(60, 10, 60, 60 ); g.drawLine(70, 10, 70, 60 ); g.drawLine(80, 10, 80, 60 ); g.drawLine(90, 10, 90, 60 ); g.drawLine(100,10, 100,60 ); 问题:如何改变窗口的大小?答:在编译的过程中提示applet标记需要宽度。但是定义了以后用appletviewer MyApplet.html时却并未显示,setSize();这个函数并不是applet的函数,通过百度查到用void reset();函数,这样就可以变化窗口的大小了。 任务2.编写一个Java Applet小应用程序,该程序随机产生一个圆半径,然后显示该圆的半径、周长和面积。最后,说说你程序设计中体现的面向对象的编程思想。提示:使用方法Math.random()可以产生一个双精度型(0,1)的随机数。import java.awt.*;import javax.swing.*;import java.applet.*;import java.awt.Graphics;class yuanprivate int banjing;private int mian;private int zhouchang;public void yuan(int x)banjing=x; public void mianji() mian=(int)3.14*banjing*banjing; public void suanzhouchang() zhouchang=2*(int)3.14*banjing; public int getbanjing() return banjing; public int getmianji() return mian; public int getzhouchang() return zhouchang; public class GraphicsTester extends Applet public void paint( Graphics g ) this.resize(1000,1000); super.paint( g ); / call superclasss paint method yuan yuan1=new yuan(); double r=Math.random()* 300; int a=(int)r; yuan1.yuan(a); yuan1.mianji(); yuan1.suanzhouchang(); int banjing=yuan1.getbanjing(); g.setColor(Color.red); g.drawString(半径 :+yuan1.getbanjing(),25,25); g.drawString(面积 :+yuan1.getmianji(),25,55); g.drawString(周长 :+yuan1.getzhouchang(),25,85); g.setColor(Color.blue); g.fillOval(120,55,banjing,banjing); 任务3.建立Java Applet小应用程序,随机产生5个数,然后以条形图的形式来表示这5个数。import java.awt.*;import javax.swing.*; public class GraphicsTester extends JApplet int shu1=(int)(Math.random()*500);/不要放进paint函数中否则移动就会 int shu2=(int)(Math.random()*500);/重新画图 int shu3=(int)(Math.random()*500); int shu4=(int)(Math.random()*500); int shu5=(int)(Math.random()*500); String a=String.valueOf(shu1); String b=String.valueOf(shu2); String c=String.valueOf(shu3); String d=String.valueOf(shu4); String e=String.valueOf(shu5);/重载JApplet类的paint方法,参数是Graphics类的对象,是由浏览器传递过来的 public void paint(Graphics g) super.paint(g); /调用其超类JApplet类的paint方法 this.resize(500,500); g.setFont( new Font( SansSerif, Font.BOLD, 12 ) ); g.setColor(Color.red); g.drawString(a,0,500-shu1-20); g.fillRect(0,500-shu1,100,shu1); g.setColor(Color.yellow); g.drawString(b,100,500-shu2-20); g.fillRect(100,500-shu2,100,shu2); g.setColor(Color.blue); g.drawString(c,200,500-shu3-20); g.fillRect(200,500-shu3,100,shu3); g.setColor(Color.green); g.drawString(d,300,500-shu4-20); g.fillRect(300,500-shu4,100,shu4); g.setColor(Color.black); g.drawString(e,400,500-shu5-20); g.fillRect(400,500-shu5,100,shu5); 任务4.(选作)使用JApplet实现某一门课程的分数录入系统,界面包括学号、姓名、班级、班号、成绩的输入域和一个录入按扭。当用户单击录入按扭时,程序检查各输入域中是否有非空的数据,若有空域则抛出一个Exception对象;同时程序检查成绩输入域,如果不是数值信息,或是负的数值信息,也抛出相应的异常。在抛出异常之前应提供详细的信息说明,从而使使用该程序的用户了解所出现的问题,同时考虑上述异常出现时程序应该如何处理。请提出你的探究问题并回答。import java.awt.*;import javax.swing.*;import java.awt.event.*;import javax.swing.event.*;import java.lang.*;class ActionHandlepublic JButton but1 = new JButton(显示) ;public JButton but2 = new JButton(重置) ;public JTextField text1 = new JTextField() ;public JTextField text2 = new JTextField() ;public JTextField text3 = new JTextField() ;public JTextField text4 = new JTextField() ;/ 声明一个按钮public JLabel labnumber = new JLabel() ; public JLabel labclass = new JLabel() ; public JLabel labname = new JLabel() ; public JLabel labmark = new JLabel() ; public JTextArea labinfo = new JTextArea() ;/ 声明一个标签 public JPanel pan = new JPanel() ;private String word;public ActionHandle()Font fnt = new Font(Serief, Font.ITALIC + Font.BOLD, 12);labnumber.setFont(fnt) ;/ 设置标签的显示字体labnumber.setText(学号) ;/ 设置默认显示文字 labclass.setFont(fnt) ;/ 设置标签的显示字体labclass.setText(班级) ;labname.setFont(fnt) ;/ 设置标签的显示字体labname.setText(姓名) ;labmark.setFont(fnt) ;/ 设置标签的显示字体labmark.setText(成绩) ;labinfo.setLineWrap(true);labinfo.setFont(fnt) ;/ 设置标签的显示字体labinfo.setText(分数系统欢迎您) ; but1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)if(e.getSource()=but1) String str1=text1.getText(); String str2=text2.getText(); String str3=text3.getText(); String str4=text4.getText(); String str5=panduan(str1,str2,str3,str4); labinfo.setText(str5); ); but2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) if(e.getSource()=but2) text1.setText() ; text2.setText() ; text3.setText() ; text4.setText() ; labinfo.setText(分数系统欢迎您) ; ); public String panduan(String a,String b,String c,String d) String word=; String word1=; String word2=; String word3=; String word4=; String word5=; if(a.length()=0) word1=学号不能为空; else if(b.length()=0) word2=班级不能为空; else if(c.length()=0) word3=姓名不能为空; else if(d.length()=0;) if (!Character.isDigit(str.charAt(i) return true; return false; public class JAppleta extends JAppletpublic void init() this.setLayout(null); ActionHandle t1=new ActionHandle(); t1.labnumber.setBounds(5,5,60,20);t1.labclass.setBounds(5,30,60,20);t1.labname.setBounds(5,55,60,20);t1.labmark.setBounds(5,80,60,20);t1.text1.setBounds(65,5,100,20);t1.text2.setBounds(65,30,100,20);t1.text3.setBounds(65,55,100,20);t1.text4.setBounds(65,80,100,20);t1.but1.setBounds(10,110,60,20);t1.but2.setBounds(80,110,60,20);t1.labinfo.setBounds(5,130,200,100);this.add(

温馨提示

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

最新文档

评论

0/150

提交评论