本帖最后由 x19881216 于 2011-10-31 09:36:43 编辑

解决方案 »

  1.   

    好长的标题呀~AWTUtilities这JAR包真心不好找
      

  2.   

    AWTUtilities  找不到这个包呀?
      

  3.   

    本来想运行一下看看     AWTUtilities包就是不好找  算了
      

  4.   

    http://download.csdn.net/download/x19881216/3738038AWTUtilities额,不保证能用jdk-6u10以上的版本才有这个
    http://niceo.iteye.com/blog/229179
      

  5.   

    shang lian : chang zhang chang zhang chang chang zhang
    xia   lian :  zhang chang zhang chang zhang zhang changheng pi : chang zhang zhang chang
      

  6.   


    英文版long grow long grow long long grow
    grow long grow long grow grow long 
      

  7.   

    +1 ,我也想到那个了import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.awt.Rectangle;
    import java.awt.Toolkit;
    import java.util.Random;import javax.swing.JFrame;
    import javax.swing.JPanel;public class SnowPanel extends JPanel
    {
    /**  */
    private static final long serialVersionUID = -990226826987352257L; private int[] snowX = null;
    private int[] snowY = null;
    private int[] angles = null;
    private int count = 50;
    private Image image = null;
    Rectangle bounds = null;
    private static Random random = new Random(); public SnowPanel(JFrame frame)
    {
    bounds = frame.getBounds();
    snowX = new int[count];
    for (int i = 0; i < snowX.length; i++) {
    snowX[i] = getRandomInt(bounds.width);
    }
    snowY = new int[count];
    for (int i = 0; i < snowY.length; i++) {
    snowY[i] = getRandomInt(bounds.height);
    }
    angles = new int[count];
    for (int i = 0; i < snowY.length; i++) {
    angles[i] = getRandomInt(360);
    }
    image = loadImage("snow.png");
    } @Override
    public void paint(Graphics g)
    {
    super.paint(g);
    Graphics2D g2d = (Graphics2D) g;
    for (int i = 0; i < count; i++) {
    snowX[i] += getRandomInt(5) - 3;
    snowY[i] += 5;
    angles[i] += i / 5;
    snowX[i] = snowY[i] > bounds.height ? getRandomInt(bounds.width)
            : snowX[i];
    snowY[i] = snowY[i] > bounds.height ? 0 : snowY[i];
    angles[i] = angles[i] > 360 ? 0 : angles[i];
    int x = snowX[i];
    int y = snowY[i];
    int angle = angles[i];
    g2d.translate(x, y);
    double angleValue = Math.toRadians(angle);
    g2d.rotate(angleValue);
    g2d.drawImage(image, 0, 0, null);
    g2d.rotate(-angleValue);
    g2d.translate(-x, -y);
    }
    } public static Image loadImage(String name)
    {
    return Toolkit.getDefaultToolkit().getImage(
            SnowPanel.class.getResource(name));
    } private static int getRandomInt(int max)
    {
    return Math.abs(random.nextInt(max));
    }
    }
    import java.awt.Toolkit;import javax.swing.JFrame;
    import javax.swing.JPanel;import com.sun.awt.AWTUtilities;public class TestSnow
    { public static void main(String[] args)
    {
    JFrame frame = new JFrame();
    frame.setAlwaysOnTop(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setUndecorated(true);
    frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
    frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
    AWTUtilities.setWindowOpaque(frame, false); final JPanel pane = new SnowPanel(frame); frame.setContentPane(pane);
    frame.setVisible(true);
    Thread thread = new Thread()
    { @Override
    public void run()
    {
    while (true) {
    try {
    Thread.sleep(10);
    } catch (Exception ex) {
    ex.printStackTrace();
    }
    pane.repaint();
    }
    }
    }; thread.start();
    }}
    图片随便找张雪花图吧,放的位置跟你这个一样, 就是加了雪花旋转效果.
    但是不知道是不是random用多了, cpu占用真高
      

  8.   

    因为图片不停的在移动,需要不停的重绘界面,所以cpu比较高。
    你把它最小化就会发现cpu立马下来了。
      

  9.   


    http://blog.sina.com.cn/s/blog_714655740100lwqp.html
    播放动态图片的方法
      

  10.   

    嗯,正在弄,CPU那是哗哗的烧啊~~
      

  11.   

    俺前面弄错了,JLabel本来就支持GIF只不过我获取图像的方式错了,不能用asstream来读的private ImageIcon icon = new ImageIcon(this.getClass().getResource("/org/shaw/test/b.gif"));setIconImage(ImageIO.read(this.getClass().getResource("/org/shaw/test/b.gif")));把这2个地方改改就能支持动态图片了
      

  12.   

    /org/shaw/test/b.gif如果是跟class文件在一起可以写相对路径
      

  13.   

    晕,我只想说句ImageIO.read()读出的GIF是无法动态显示的
      

  14.   

    我也搞定。private ImageIcon icon = new ImageIcon(this.getClass().getResource("snow.gif"));// 花朵图片就这一句就ok了~~汗~~
    不过以前的setIconImage不能用了