黑马程序员技术交流社区
标题:
烟花小程序
[打印本页]
作者:
wuming668
时间:
2015-9-18 07:19
标题:
烟花小程序
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import javax.swing.*;
public class Fireworks 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[])
{
Fireworks applet = new Fireworks();
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;
}
public void mouseReleased(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mouseClicked(MouseEvent e)
{
}
}
作者:
赵存金
时间:
2015-9-18 08:11
才学到面相对象,还看不懂。
作者:
僵尸舞
时间:
2015-9-18 23:06
赞一个,加油
!!!
作者:
迷茫不堪的年纪
时间:
2015-9-18 23:56
评价完看看,就喜欢看 看不懂的
作者:
T-l-H、小生
时间:
2015-9-19 00:59
老实说,哪里copy来的?
不过,我也copy到工具里面运行了一下,蛮有意思的。。。。
作者:
pengwei1989
时间:
2015-9-19 09:29
还没看到这一块,有点晕
作者:
侯越强
时间:
2015-9-19 10:54
不错不错,加油。
作者:
阮文江
时间:
2015-9-19 11:02
有些看不懂!!!
作者:
插兜
时间:
2015-9-19 11:34
复制代码,果然好厉害。但是看不懂,
作者:
裘-样
时间:
2015-9-19 13:05
虽然代码还不怎么看得懂,但为了效果还是得赞一个!
作者:
zzh1026
时间:
2015-9-19 13:20
才学到面相对象,还看不懂
作者:
王鲁悦
时间:
2015-9-19 13:54
太厉害了
作者:
ZhengJX
时间:
2015-9-19 15:24
机锋有你更精彩
作者:
spruce
时间:
2015-9-19 15:51
很好 copy运行一下
作者:
德胜
时间:
2015-9-19 15:55
真的很不错,加油啊
作者:
wangjie
时间:
2015-10-6 21:32
厉害 赞一下
作者:
往事如风555
时间:
2015-10-6 21:57
没学,看不懂
作者:
江湖104
时间:
2015-10-6 22:13
很不错,加油!
作者:
Endless_paradox
时间:
2015-12-5 12:10
复制代码,看看效果,然后赞一个
作者:
再续啸傲
时间:
2015-12-5 12:49
好复杂的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2