雪花屏幕保护java代码 雪花屏有什么用途

java 能否实现桌面下雪花的效果?使用swing?

/*

目前成都创新互联公司已为超过千家的企业提供了网站建设、域名、虚拟主机、网站改版维护、企业网站设计、无极网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

*实现在窗体上随机布满300个雪花("*"),滚动

*在上次的课基础上增加了for循环(一次要产生300个变量),随机数,数组 ;

*下面的序号为步骤

*/ import java.awt.* ; //(3)导入awt包

public class Star {

public static void main(String args[]) {

Frame w = new Frame() ; //(1)绘制窗体

w.setSize(1024,768) ; //(4)把窗体布满全屏

w.setBackground(Color.BLACK) ; //(5)背景为黑颜色

MyPanel mp = new MyPanel() ; //(7)把MyPanel对象mp,添加到窗体w上

w.add(mp) ;

Thread t = new Thread(mp) ;

t.start() ; //(12)启动线程

w.show(); //(2)显示窗体

}

}

//(6)继承Panel类

class MyPanel extends Panel implements Runnable { //(11)实现Runnable接口

int x[] = new int[300] ;

int y[] = new int[300] ; //(8)定义300个数组变量 MyPanel(){

for(int i = 0;i 300; i++) {

x[i] = (int)(Math.random()*1024) ;

y[i] = (int)(Math.random()*768) ; //(9)当程序走到第6步的时候程序就会调用构成函数

} //由于随机数是从0-1之间的数任意产出所以x乘以1024,y乘以768再转换为int类型

}

public void paint(Graphics g) {

for(int i = 0;i 300; i++) {

g.setColor(Color.WHITE) ;

g.drawString("*",x[i],y[i]) ;

//g.drawString("*",30,30) ;(7)绘制一个星星在屏幕的x=30,y=30的位置上

} //(10)绘制300个雪花,把坐标30,30,改成x[i],y[i] ;

} //做到这步可以实现在黑色的天空布满300个星星

public void run() {

while(true) { //(13)实现产生300个雪花往下落死循环

for(int i = 0 ; i 300; i++) {

y[i]++ ; //(14)y坐标不断的+1

if(y[i] 768){ //(18)如果y轴坐标大于768时,则y = 0,回到窗体的顶部

y[i] = 0 ;

}

}

try{ //(16)用try,catch解决线程休眠的异常

Thread.sleep(20) ; //(15)在每次y轴坐标+1后线程休眠20毫秒

}catch(Exception e) {}

repaint() ; //(17)雪花在新的位置重画

}

}

}

网页飘雪花的代码是什么

在后台添加js特效可实现这样的效果。

js代码为:

script language="JavaScript"

!--

var no = 5; //雪片数目

var speed = 20; //飘动速度。(值越大越慢)

var ns4up = (document.layers) ? 1 : 0; //当前浏览器类型,如果是NS则为1

var ie4up = (document.all) ? 1 : 0; //当前浏览器类型,如果是IE则为1

var s, x, y, sn, cs;

var a, r, cx, cy;

var i, doc_width = 800, doc_height = 600;

x = new Array();

y = new Array();

r = new Array();

cx = new Array();

cy = new Array();

s = 8; //每次下落的高度,越小越平滑,但是也越慢

if (ns4up) { //以NS兼容方式

doc_width = self.innerWidth; //取页面宽度

doc_height = self.innerHeight; //取页面高度

}

else

if (ie4up) { //以IE兼容方式

doc_width = document.body.clientWidth; //取页面宽度

doc_height = document.body.clientHeight; //取页面高度

}

for (i = 0; i no; ++ i) { //根据前面定义的雪片数目写进相应数目的层

initSnow(); //随机初始化层的坐标

if (ns4up) { //如果浏览器是NS

//用layer作为雪片(星号)的容器

document.write("layer name=\"dot"+ i +"\" left=\"1\" ");

document.write("top=\"1\" visibility=\"show\"font color=\"red\"");

document.write("*/font/layer");

}

else

if (ie4up) { //如果浏览器是IE

//用div作为雪片的容器

document.write("div id=\"dot"+ i +"\" style=\"POSITION: ");

document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");

document.write("visible; TOP: 15px; LEFT: 15px;\"font color=\"red\"");

document.write("*/font/div");

}

}

//初始化雪片,生成随机坐标

function initSnow() {

a = 6;

r[i] = 1;

sn = Math.sin(a);

cs = Math.cos(a);

cx[i] = Math.random() * doc_width + 1;

cy[i] = Math.random() * doc_height + 1;

x[i] = r[i] * sn + cx[i];

y[i] = cy[i];

}

//计算雪花位置,从新位置上出现,看起来就像是新产生的一样。

function makeSnow() {

r[i] = 1;

cx[i] = Math.random() * doc_width + 1;

cy[i] = 1;

x[i] = r[i] * sn + cx[i];

y[i] = r[i] * cs + cy[i];

}

//雪花下落的计算

function updateSnow() {

r[i] += s;

x[i] = r[i] * sn + cx[i];

y[i] = r[i] * cs + cy[i];

}

//在NS浏览器上处理雪片下落的主程序

function SnowdropNS() {

for (i = 0; i no; ++ i) { //依次处理每片雪花

updateSnow(); //下落

if ((x[i] = 1) || (x[i] = (doc_width - 20)) || (y[i] = (doc_height - 20))) { //如果超出屏幕范围

makeSnow(); //则调整雪片到新位置上

doc_width = self.innerWidth; //更新页面宽度数据

doc_height = self.innerHeight; //更新页面高度数据

}

document.layers["dot"+i].top = y[i]; //改变层的Y坐标,应用新的位置

document.layers["dot"+i].left = x[i]; //改变层的X坐标,应用新的位置

}

setTimeout("SnowdropNS()", speed);

}

//在IE浏览器上处理雪片下落的主程序

function SnowdropIE() {

for (i = 0; i no; ++ i) { //依次处理每片雪花

updateSnow(); //下落

if ((x[i] = 1) || (x[i] = (doc_width - 20)) || (y[i] = (doc_height - 20))) { //如果超出屏幕范围

makeSnow(); //则调整雪片到新位置上

doc_width = document.body.clientWidth; //更新页面宽度数据

doc_height = document.body.clientHeight; //更新页面高度数据

}

document.all["dot"+i].style.pixelTop = y[i]; //改变层的坐标,应用新的位置

document.all["dot"+i].style.pixelLeft = x[i];

}

setTimeout("SnowdropIE()", speed); //准备下一次下落过程。

}

if (ns4up) { //如果是NS

SnowdropNS(); //调用SnowdropNS使雪片下落

}

else

if (ie4up) { //如果是NS

SnowdropIE(); //调用SnowdropIE使雪片下落

}

--

/script

说明:可以根据自己的需求根据说明进行相应参数的修改

JAVA怎么实现一屏幕的雪花飘落,方向随机,有大有小

第一种。。你的雪花是图片,那么你自己多做几张旋转的图片,在每次飘落的时候,1秒后换取另外一张图片。或者做成gif图片。

第二种:你的是自己画的雪花,那么你每秒要重新绘制你的雪花。

闪屏 是指面板刷新带来的负面的效果。。


网页名称:雪花屏幕保护java代码 雪花屏有什么用途
分享URL:http://ybzwz.com/article/dojhhjs.html