练习74下雪的图档.docVIP

  • 3
  • 0
  • 约5.6千字
  • 约 6页
  • 2017-06-02 发布于河南
  • 举报
练习74下雪的图档

练习74 下雪的图档 本例知识点 一句话讲解 新学知识 Dimension类 存放屏幕尺寸 使用Random类 产生随机数来确定雪花的位置 已学知识 Image类 加载图片 使用Thread类 管理线程 一、练习具体要求 本练习制作模拟下雪的图档的实例。如图74-1所示,程序执行后,创建一个带有背景颜色的面板,前景是雪花飘动的效果,雪花的位置是随机的,雪花的数量和下落的速度可以通过SnowPic.html的源程序来控制。 二、程序及注释 (1)编程思路:首先,本练习因为要制作下雪的图档的实例,所以首先要加载图片背景,在初始化小程序的函数public void init()中,先通过语句gAlc[0] = getImage(getDocumentBase(), getParameter(graphic, test.gif))得到图片的路径和名称,然后通过语句mt.addImage(gAlc[0], 0)加载图片。然后,制作雪花效果,这是通过函数public void drawBackSnow(Graphics g)完成的,先通过语句g.setColor(Color.white)设置前景色为白色来画雪花,然后以雪花的总数作为循环条件,通过一个for循环结构,制作雪花,雪花位置的横坐标通过语句snowX[i] += rand.nextInt() % 2 + wind确定,雪花位置的纵坐标通过语句snowY[i] += (rand.nextInt() % 6 + 5) / 5 + 1确定。 (2)程序实现及注释: //SnowPic.java import java.applet.Applet; import java.awt.*; import java.util.Random; public class SnowPic extends Applet implements Runnable { //变量声明 Thread mainThread; Image offScreen; Image gAlc[]; Random rand; int stopFlag; int snows; int wind; int threadSleep; int snowSize; int snowX[]; int snowY[]; long stopTime; Dimension dim; MediaTracker mt; //构造函数 public SnowPic() { stopTime = 0L; } //得到一个字符串和一个整数类型的参数 int getParameter(String s, int i) { String s1 = getParameter(s); return s1 == null ? i : Integer.parseInt(s1); } //得到一个字符串和三个整数类型的参数 int getParameter(String s, int i, int j, int k) { String s1 = getParameter(s); if(s1 != null) { if((i = Integer.parseInt(s1)) j) return j; if(i k) return k; else return i; } else { return i; } } //得到两个字符串的参数 String getParameter(String s, String s1) { String s2 = getParameter(s); return s2 == null ? s1 : s2; } //初始化小程序 public void init() { rand = new Random(); dim = getSize(); offScreen = createImage(dim.width, dim.height)

文档评论(0)

1亿VIP精品文档

相关文档