java下雪实现,java下雪,//主方法//不知道为什
分享于 点击 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; }}
用户点评