这个是比较有名的那个烟花,不知道你有没有用:建个工程,以Fireworks为类即可import ***.awt.*;import ***.applet.*;import java.***.event.*;import ***.swing.*;public class Fireworks extends Applet implements MouseListener,Runnable{ int x,y; int top,point;/***对小程序进行变量和颜色的初始化。
*/ public void init() { x = 0; y = 0; //设置背景色为黑色 setBackground(***.black); addMouseListener(this); } public void paint(Graphics g) { } /** *使该程序可以作为应用程序运行。
*/ public static void main(String args[]) { Fireworks applet = new Fireworks(); JFrame frame = new JFrame("TextAreaNew"); ***.addwindowlistener(new WindowAdapter() { public void windowClosing(WindowEvent e){ ***.exit(0); } }); ***.getcontentpane().add( applet, ***.center); ***.setsize(800,400); ***.init(); ***.start(); ***.setvisible(true); } /***程序主线程,对一个烟花进行绘制。
*/ public void run() { //变量初始化 Graphics g1; g1 = getGraphics(); int y_move,y_click,x_click; int v; x_click = x; y_click = y; y_move = 400; v = 3; int r,g,b; while(y_move > y_click) { ***.setcolor(***.black); ***.filloval(x_click,y_move,5,5); y_move -= 5; r = (((int)***.round(***.random()*4321))%200)+55; g = (((int)***.round(***.random()*4321))%200)+55; b = (((int)***.round(***.random()*4321))%200)+55; ***.setcolor(new Color(r,g,b)); ***.filloval(x_click,y_move,5,5); for(int j = 0 ;j<=10;j++) { if(r>55) r -= 20; if(g>55) g -= 20; if(b>55) b -=20; ***.setcolor(new Color(r,g,b)); ***.filloval(x_click,y_move+j*5,5,5); } ***.setcolor(***.black); ***.filloval(x_click,y_move+5*10,5,5); try { ***.current***().sleep(v++); } catch (InterruptedException e) {} } for(int j=12;j>=0;j--) { ***.setcolor(***.black); ***.filloval(x_click,y_move+(j*5),5,5); try { ***.current***().sleep((v++)/3); } catch (InterruptedException e) {} } y_move = 400; ***.setcolor(***.black); while(y_move > y_click) { ***.filloval(x_click-2,y_move,9,5); y_move -= 5; } v = 15; for(int i=0;i<=25;i++) { r = (((int)***.round(***.random()*4321))%200)+55; g = (((int)***.round(***.random()*4321))%200)+55; b = (((int)***.round(***.random()*4321))%200)+55; ***.setcolor(new Color(r,g,b)); ***.drawoval(x_click-3*i,y_click-3*i,6*i,6*i); if(i<23) { ***.drawoval(x_click-3*(i+1),y_click-3*(i+1),6*(i+1),6*(i+1)); ***.drawoval(x_click-3*(i+2),y_click-3*(i+2),6*(i+2),6*(i+2)); } try { ***.current***().sleep(v++); } catch (InterruptedException e) {} ***.setcolor(***.black); ***.drawoval(x_click-3*i,y_click-3*i,6*i,6*i); }} /***对鼠标事件进行监听。
*临听其鼠标按下事件。
*当按下鼠标时,产生一个新线程。
*/ public void mousePressed(MouseEvent e) { x = ***.g***tx(); y = ***.g***ty(); Thread one; one = new Thread(this); ***.start(); one = null; } /** *实现MouseListener接中的方法。
为一个空方法。
*/ public void mouseReleased(MouseEvent e) { } /** *实现MouseListener接中的方法。
为一个空方法。
*/ public void mouseEntered(MouseEvent e) { } /** *实现MouseListener接中的方法。
为一个空方法。
*/ public void mouseExited(MouseEvent e) { } /** *实现MouseListener接中的方法。
为一个空方法。
*/ public void mouseClicked(MouseEvent e) { } }。
版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。