Swing之图片移动实例

来源:互联网 发布:php上传图片到文件夹 编辑:程序博客网 时间:2024/05/19 21:41

1

用到了图片重画和线程的技术

package com.szsm.swing.framepanel;import java.awt.Container;import java.awt.Graphics;import java.awt.Image;import java.awt.event.WindowListener;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JPanel;import javax.xml.stream.events.StartDocument;import com.szsm.swing.parent.FrameSet;public class ImgMoveFrame extends FrameSet implements  Runnable{Container imgcContainer = null;int x=0;boolean flg = true;public ImgMoveFrame() {init();initInterface();initend();}public void initend(){super.initend();Thread thread = new Thread(this);if(thread!=null && !thread.isAlive()){thread.start();}}public void initInterface(){imgcContainer.add(new ImagePanel());}@Overridepublic void init() {super.init();this.setLocation(400,100);this.setSize(400,300);imgcContainer = this.getContentPane();}class ImagePanel extends JPanel{Image img  = null;int width,height = 0;public ImagePanel() {img = new ImageIcon(this.getClass().getResource("cloud.png")).getImage();}@Overrideprotected void paintComponent(Graphics g) {super.paintComponent(g);width = img.getWidth(this);height = img.getHeight(this);g.drawImage(img, x, 0,width,height, this);}}@Overridepublic void run() {while(flg){try {Thread.sleep(100);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}x+=2;repaint();}}}

2


原创粉丝点击