欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java下雪实现,java下雪,//主方法//不知道为什

来源: javaer 分享于  点击 16931 次 点评:257

java下雪实现,java下雪,//主方法//不知道为什


//主方法//不知道为什么运行的时候雪花下落会出现一闪一闪的,那位能告诉我一下

package com.lsl.day01;import java.awt.Toolkit;import javax.swing.JFrame;import javax.swing.JPanel;public class SnowFrame {    public static final int WIDTH = (int) Toolkit.getDefaultToolkit()            .getScreenSize().getWidth();    public static final int HEIGHT = (int) Toolkit.getDefaultToolkit()            .getScreenSize().getHeight();    public static void main(String[] args) {        JFrame frame = new JFrame();        frame.setSize(WIDTH, HEIGHT);        frame.setUndecorated(true);        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        SnowPanel panel = new SnowPanel();        frame.add(panel);        frame.setVisible(true);        panel.action();    }}//加载画板package com.lsl.day01;import java.awt.Color;import java.awt.Graphics;import java.awt.Panel;public class SnowPanel extends Panel {    Snow[] snow = new Snow[300];    SnowPanel() {        for (int i = 0; i < 300; i++) {            snow[i] = new Snow();        }    }    public void paint(Graphics g) {        super.paint(g);        setBackground(Color.black);        // g.setColor(Color.WHITE);        for (int i = 0; i < 300; i++) {            snow[i].drawSnow(g);        }    }    public void action() {        while (true) {            for (int i = 0; i < 300; i++) {                snow[i].move();            }            repaint();            try {                Thread.sleep(20);            } catch (InterruptedException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }    }}//雪花对象package com.lsl.day01;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;public class Snow {    int x;    int y;    int speed;    int size;    // Color color;    public Snow() {        x = (int) (Math.random() * SnowFrame.WIDTH);        y = (int) (Math.random() * SnowFrame.HEIGHT);        size = (int) (Math.random() * 50 + 5);        speed = (int) (Math.random() * 5 + 1);    }    public void drawSnow(Graphics g) {        g.setColor(Color.WHITE);        g.setFont(new Font("", Font.BOLD, size));        g.drawString("*", x, y);    }    public void move() {        y += speed;        x += Math.random() * 10 > 5 ? 2 : -2;        if (y > SnowFrame.HEIGHT) {            y = 0;            // x = (int) (Math.random() * SnowFrame.WIDTH);        }        // if (x > SnowFrame.WIDTH) {        // x = 0;        // }    }    public void Xmove() {        x += speed;        if (x > SnowFrame.WIDTH) {            x = 0;        }        // x -= speed;    }}
相关栏目:

用户点评