java開發實戰1200(II)----------075迴圈滾動圖片
package Test;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class CricularRollPictureFrame extends JFrame {
public static void main(String args[]){
EventQueue.invokeLater(new Runnable(){
public void run(){
CricularRollPictureFrame frame=new CricularRollPictureFrame();
frame.setVisible(true);
}
});
}
public CricularRollPictureFrame(){
super();
setTitle("迴圈滾動圖片");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,100,500,202);
CricularRollPicturePanel panel=new CricularRollPicturePanel();
getContentPane().add(panel);
Thread thread=new Thread(panel);
thread.start();
}
class CricularRollPicturePanel extends JPanel implements Runnable{
int x=0;
int y=30;
URL url=CricularRollPicturePanel.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(){
boolean flag=true;
while(true){
if(flag){
x=x+5;
if(x>=getWidth() - img.getWidth(this)){
x=getWidth() - img.getWidth(this);
flag=false;
}
}else{
x=x-5;
if(x<=0){
x=0;
flag=true;
}
}
try {
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
repaint();
}
}
}
}