文档详情

面向对象程序设计ajava讲稿一章游戏篇练习烟花.pdf

发布:2025-05-26约6.77千字共8页下载文档
文本预览下载声明

练习94

本例知识点一句话讲解

新学使用Graphics类绘制

知识使用Thread类管理线程

已学使用Math类产生随机数

知识使用Color类设置颜色

一、练习具体要求

本例制作,运行效果如图94-1所示。执行本例实例后,用鼠标点击浏览器中的面

板,将出现五彩缤纷的效果。本实例的知识点有:鼠标的,Graphics类和Thread

类的应用。

二、程序及注释

(1)编程思路:本例因为要模拟效果,所以首先定义执行程序主线程的函数run()

对一个进行绘制。在函数run()中定义Graphics类的对象,通过程序中的算法来绘制

。然后,因为要实现的缤纷闪烁效果,所以要通过Thread类的

Thread.currentThread().sleep()方法使当前线程睡眠,让用户欣赏到当前的绘制效果。最

后,因为要实现人机交互.,所以首先要通过mousePressed(MouseEvente)函数来实现对鼠

标的,这样当按下鼠标时,产生一个新线程就可以看到一个新的效果。

(2)程序实现及注释:

importjava.awt.*;

importjava.applet.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclassFireworktendsAppletimplementsMouseListener,Runnable

{

intx,y;

inttop,point;

/**

*对小程序进行变量和颜色的初始化。

*/

publicvoidinit()

{

x=0;

y=0;

//设置背景色为黑色

setBackground(Color.black);

addMouseListener(this);

}

publicvoidpaint(Graphicsg)

{

}

/**

*使该程序可以作为应用程序运行。

*/

publicstaticvoidmain(Stringargs[]){

Fireworksapplet=newFireworks();

JFrameframe=newJFrame(TextAreaNew);

frame.addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

frame.getContentPane().add(

applet,BorderLayout.CENTER)

显示全部
相似文档