import java.awt.*;

import java.applet.*;

import java.awt.event.*;

import javax.swing.*;

public class ChatApplet extends Applet implements MouseListener,Runnable

{ int x,y; int top,point;

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

*/

public void init() { x = 0; y = 0;

//设置背景色为黑色

setBackground(Color.black);

addMouseListener(this);

} public void paint(Graphics g) { }

/** *使该程序能够作为应用程序执行。 */

public static void main(String args[])

{ ChatApplet applet = new ChatApplet();

JFrame frame = new JFrame("TextAreaNew");

frame.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e){

System.exit(0);

} });

frame.getContentPane().add( applet, BorderLayout.CENTER);

frame.setSize(800,400);

applet.init();

applet.start();

frame.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)

{

g1.setColor(Color.black);

g1.fillOval(x_click,y_move,5,5);

y_move -= 5;

r = (((int)Math.round(Math.random()*4321))%200)+55;

g = (((int)Math.round(Math.random()*4321))%200)+55;

b = (((int)Math.round(Math.random()*4321))%200)+55;

g1.setColor(new Color(r,g,b));

g1.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;

g1.setColor(new Color(r,g,b));

g1.fillOval(x_click,y_move+j*5,5,5);

}

g1.setColor(Color.black);

g1.fillOval(x_click,y_move+5*10,5,5);

try { Thread.currentThread().sleep(v++);

}

catch (InterruptedException e) {}

}

for(int j=12;j>=0;j--)

{

g1.setColor(Color.black);

g1.fillOval(x_click,y_move+(j*5),5,5);

try {

Thread.currentThread().sleep((v++)/3);

}

catch (InterruptedException e) {} }

y_move = 400; g1.setColor(Color.black);

while(y_move > y_click)

{ g1.fillOval(x_click-2,y_move,9,5);

y_move -= 5;

} v = 15;

for(int i=0;i<=25;i++) { r = (((int)Math.round(Math.random()*4321))%200)+55;

g = (((int)Math.round(Math.random()*4321))%200)+55;

b = (((int)Math.round(Math.random()*4321))%200)+55;

g1.setColor(new Color(r,g,b));

g1.drawOval(x_click-3*i,y_click-3*i,6*i,6*i);

if(i<23)

{ g1.drawOval(x_click-3*(i+1),y_click-3*(i+1),6*(i+1),6*(i+1));

g1.drawOval(x_click-3*(i+2),y_click-3*(i+2),6*(i+2),6*(i+2));

}

try

{ Thread.currentThread().sleep(v++);

} catch (InterruptedException e) {}

g1.setColor(Color.black);

g1.drawOval(x_click-3*i,y_click-3*i,6*i,6*i);

}}

/***对鼠标事件进行监听。

*临听其鼠标按下事件。

*当按下鼠标时,产生一个新线程。*/

public void mousePressed(MouseEvent e)

{

x = e.getX();

y = e.getY();

Thread one;

one = new Thread(this);

one.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) { }

}

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐