下面是一段烟花的程序,希望可以把黑色的背景改为一张图片,和烟花爆发时添加一段爆炸的声音,希望高手帮过改下 import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import javax.swing.*;
import com.sun.java.swing.plaf.windows.resources.windows;
public class Fireworks extends Applet implements MouseListener,Runnable
{
int x,y;
ImageIcon icon;
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(400,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;
while(y_move > y_click)
{
g1.setColor(Color.white);
g1.fillOval(x_click,y_move,5,5);
y_move -= 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); }
v = 15;
for(int i=0;i<=25;i++)
{
g1.setColor(Color.white);
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)
{
for(int i=0;i<20;i++)
{
x = (((int)Math.round(Math.random()*4321))%200)+100;
y = (((int)Math.round(Math.random()*4321))%200);
Thread one;
one = new Thread(this);
one.start();
try {
Thread.currentThread().sleep((500));
} catch (InterruptedException ee) {}
one = null;
}
}
public void mouseReleased(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mouseClicked(MouseEvent e)
{
}
}
import java.applet.*;
import java.awt.event.*;
import javax.swing.*;
import com.sun.java.swing.plaf.windows.resources.windows;
public class Fireworks extends Applet implements MouseListener,Runnable
{
int x,y;
ImageIcon icon;
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(400,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;
while(y_move > y_click)
{
g1.setColor(Color.white);
g1.fillOval(x_click,y_move,5,5);
y_move -= 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); }
v = 15;
for(int i=0;i<=25;i++)
{
g1.setColor(Color.white);
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)
{
for(int i=0;i<20;i++)
{
x = (((int)Math.round(Math.random()*4321))%200)+100;
y = (((int)Math.round(Math.random()*4321))%200);
Thread one;
one = new Thread(this);
one.start();
try {
Thread.currentThread().sleep((500));
} catch (InterruptedException ee) {}
one = null;
}
}
public void mouseReleased(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mouseClicked(MouseEvent e)
{
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货