package Test;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class RandomMovePictureFrame extends JFrame {
private final int winWIDTH=450;
private final int winHEIGHT=300;
public static void main(String args[]){
EventQueue.invokeLater(new Runnable(){
public void run(){
RandomMovePictureFrame frame=new RandomMovePictureFrame();
frame.setVisible(true);
}
});
}
public RandomMovePictureFrame(){
super();
setTitle("随机移动的图片");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,100,winWIDTH,winHEIGHT);
RandomMovePicturePanel panel=new RandomMovePicturePanel();
getContentPane().add(panel);
Thread thread=new Thread(panel);
thread.start();
}
class RandomMovePicturePanel extends JPanel implements Runnable{
int x=0;
int y=0;
Random random=new Random();
URL url=RandomMovePicturePanel.class.getResource("/image/picture.png");
Image img=Toolkit.getDefaultToolkit().getImage(url);
public void paint(Graphics g){
g.clearRect(0, 0, getWidth(), getHeight());
g.drawImage(img, x, y, this);
}
public void run(){
while(true){
x=random.nextInt(winWIDTH-110);
y=random.nextInt(winHEIGHT-140);
try {
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
repaint();
}
}
}
}