资源简介
java 实现的飘雪花效果.包含代码和所用到的图片资源。欢迎指正

代码片段和文件信息
package My_Snow;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Rectangle;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.Jframe;
import javax.swing.JPanel;
import com.sun.awt.AWTUtilities;
public class My_Snow {
static ArrayList snowList =new ArrayList();
static ArrayList snowremoveList =new ArrayList();
public static void main(String[] args) {
final Jframe jf = new Jframe();
jf.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
jf.setExtendedState(Jframe.MAXIMIZED_BOTH);
jf.setUndecorated(true);//frame修饰
AWTUtilities.setWindowOpaque(jf false);
// final Rectangle bound = jf.getBounds();//放在这里报错
final JPanel jp = new JPanel(){
int count=30;
Random ran = new Random(47);
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
Rectangle bound = jf.getBounds();
if(snowList.size()<30){
SnowAttributes snow = new SnowAttributes();
snow.setSnowX(ran.nextInt(bound.width));
snow.setSnowY(ran.nextInt(bound.height));
snow.setAngle(ran.nextInt(360));
snowList.add(snow);
}
Iterator i = snowList.iterator();
int temp =0;
while(i.hasNext()){
SnowAttributes snow = i.next();
snow.setSnowX(snow.getSnowX()+(temp++)/10);
snow.setSnowY(snow.getSnowY()+(temp++)/5);
snow.setAngle(snow.getAngle()*57+5);
if(snow.getSnowX()>bound.width||snow.getSnowY()>bound.height){
snowremoveList.add(snow);
}
if(snow.getAngle()>2*Math.PI){
snow.setAngle(0);
}
}
Iterator i_remove = snowremoveList.iterator();
while(i_remove.hasNext()){
snowList.remove(i_remove.next());
}
Image image=null;
try {
image = ImageIO.read(new File(“src/My_Snow/xuehua.png“));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Iterator i2 = snowList.iterator();
while(i2.hasNext()){
SnowAttributes snow = i2.next();
Graphics2D g2d = (Graphics2D) g;
g2d.translate(snow.getSnowX() snow.getSnowY());
g2d.rotate(snow.getAngle());
g.drawImage(image 0 0 null);
g2d.rotate(-snow.getAngle());
g2d.translate(-snow.getSnowX() -snow.getSnowY());
}
}
};
jp.setOpaque(false);
jf.setContentPane(jp);
jf.setVisible(true);
Thread thread = new Thread(){
public void run() {
while(true){
try {
Thread.sleep(20);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
jp.repaint();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 232 2014-04-20 09:40 Test_Snow\.classpath
文件 385 2014-04-24 19:15 Test_Snow\.project
文件 598 2014-04-20 09:33 Test_Snow\.settings\org.eclipse.jdt.core.prefs
文件 2919 2014-04-24 20:06 Test_Snow\bin\My_Snow\My_Snow$1.class
文件 799 2014-04-24 20:06 Test_Snow\bin\My_Snow\My_Snow$2.class
文件 1421 2014-04-24 20:06 Test_Snow\bin\My_Snow\My_Snow.class
文件 924 2014-04-24 19:39 Test_Snow\bin\My_Snow\SnowAttributes.class
文件 5615 2014-04-24 20:06 Test_Snow\bin\My_Snow\xuehua.png
文件 2432 2014-04-24 19:17 Test_Snow\bin\My_Snow$1.class
文件 756 2014-04-24 19:17 Test_Snow\bin\My_Snow$2.class
文件 1273 2014-04-24 19:17 Test_Snow\bin\My_Snow.class
文件 1143 2014-04-24 19:15 Test_Snow\bin\Test01$1.class
文件 932 2014-04-24 19:15 Test_Snow\bin\Test01.class
文件 689 2014-04-24 19:15 Test_Snow\bin\Test02$1.class
文件 933 2014-04-24 19:15 Test_Snow\bin\Test02.class
文件 3052 2014-04-24 20:06 Test_Snow\src\My_Snow\My_Snow.java
文件 510 2014-04-24 19:39 Test_Snow\src\My_Snow\SnowAttributes.java
文件 5615 2014-04-24 20:06 Test_Snow\src\My_Snow\xuehua.png
目录 0 2014-04-24 20:08 Test_Snow\bin\My_Snow
目录 0 2014-04-24 19:15 Test_Snow\bin\snow
目录 0 2014-04-24 20:08 Test_Snow\src\My_Snow
目录 0 2014-04-24 20:08 Test_Snow\.settings
目录 0 2014-04-24 20:08 Test_Snow\bin
目录 0 2014-04-24 20:08 Test_Snow\src
目录 0 2014-04-24 20:08 Test_Snow
----------- --------- ---------- ----- ----
30228 25
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论