雪球java开发待遇

上一节实现了满天星的效果,本节将实现滚雪球的小实例,这里要用到重绘和线程的知识,代码如下: import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Panel; public class SnowBall {

上一节实现了满天星的效果,本节将实现滚雪球的小实例,这里要用到重绘和线程的知识,代码如下:

import java.awt.Color;

import java.awt.Frame;

import java.awt.Graphics;

import java.awt.Panel;

public class SnowBall {

public static void main(String[] args) {

Frame frame=new Frame();

frame.setBackground(Color.BLACK);

frame.setSize(1024, 768);

MyPanel myPanel=new MyPanel();

frame.add(myPanel);

Thread thread=new Thread(myPanel);

thread.start();

frame.show();

}

}

class MyPanel extends Panel implements Runnable{

int x=120;

int y=10;

@Override

public void paint(Graphics g) {

g.setColor(Color.WHITE);

g.fillOval(x, y, 20, 20);

}

@Override

public void run() {

while (true) {

y++;

if(y>768){

y=0;

}

repaint();

}

}

}

这时运行发现小球不动,但是确实不是代码的问题,因为CPU运行太快了,这里我们可以让线程睡一会再执行下一次,在while中加入:

try {

Thread.sleep(10);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

再次运行实例就可以看到小球不断下落了。

0818b9ca8b590ca3270a3433284dd417.png

知秋君
上一篇 2024-08-13 17:36
下一篇 2024-08-13 17:02

相关推荐