當前位置:編程學習大全網 - 編程語言 - java可以實現桌面下雪花的效果嗎?使用swing?

java可以實現桌面下雪花的效果嗎?使用swing?

/*

*實現在窗體上隨機覆蓋300個雪花(“*”),並滾動。

*在上節課的基礎上,增加了for循環(壹次生成300個變量)、隨機數和數組;

*以下序列號是步驟。

*/import Java . awt . *;//(3)導入awt包

公共星級{

公共靜態void main(String args[]) {

框架w =新框架();//(1)繪制表單

w.setSize(1024,768);//(4)用全屏幕填充表單

w.setBackground(顏色。黑色);//(5)背景是黑色的。

my panel MP = new my panel();//(7)將MyPanel對象mp添加到表單w中。

w . add(MP);

Thread t =新線程(MP);

t . start();//(12)啟動線程

w . show();//(2)顯示表單

}

}

//(6)繼承Panel類

類MyPanel擴展Panel實現Runnable {//(11)實現Runnable接口。

int x[]= new int[300];

int y[]= new int[300];//(8)定義300個數組變量MyPanel(){

for(int I = 0;我& lt300;i++) {

x[I]=(int)(math . random()* 1024);

y[I]=(int)(math . random()* 768);//(9)當程序進行到第6步時,程序會調用構造函數。

}//由於隨機數是從0-1任意生成的,所以X乘以1024,Y乘以768,然後轉換成int類型。

}

公共空白油漆(圖形g) {

for(int I = 0;我& lt300;i++) {

g.setColor(顏色。白色);

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

//g.drawString("* ",30,30);(7)在屏幕上x=30,y=30的位置畫壹顆星。

} //(10)畫300片雪花,將坐標30和30改為X [I]和Y[I];

}//做這壹步可以做到黑天上300顆星。

公共無效運行(){

而(true) {//(13)實現了生成300片雪花落下的死循環。

for(int I = 0;我& lt300;i++) {

y[I]++;//(14)y坐標是常數+1

if(y[I]& gt;768){ //(18)如果Y軸坐標大於768,則y = 0,並返回表單頂部。

y[I]= 0;

}

}

Try{ //(16)用try and catch解決線程休眠異常。

thread . sleep(20);//(15)線程在每個Y軸坐標+1後休眠20ms。

}catch(異常e) {}

repaint();//(17)雪花在新位置重新繪制。

}

}

}

  • 上一篇:計算機專業可報考什麽公務員職位
  • 下一篇:寧波周邊哪些旅遊景點
  • copyright 2024編程學習大全網