java實(shí)現(xiàn)動(dòng)態(tài)圖片效果
本文實(shí)例為大家分享了java實(shí)現(xiàn)動(dòng)態(tài)圖片效果,供大家參考,具體內(nèi)容如下
源碼
package forGame;import javax.imageio.ImageIO;import javax.swing.*;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;//動(dòng)態(tài)效果public class Demo_1 extends JFrame{ //背景 private BufferedImage bufferedImage; //窗體大小 private int width; private int height; //要繪制的動(dòng)態(tài)照片數(shù)組 private BufferedImage[] images = new BufferedImage[4]; //要繪制動(dòng)態(tài)圖中的那張 private BufferedImage image; //初始化 { if(bufferedImage == null){ try { bufferedImage = ImageIO.read(new File('srcimage背景.png')); for(int i = 1;i < images.length + 1;i ++) images[i - 1] = ImageIO.read(new File('srcimage大飛機(jī)爆炸' + i + '.png')); } catch (IOException e) { e.printStackTrace(); } } width = bufferedImage.getWidth(); height = bufferedImage.getHeight(); image = images[0]; } public Demo_1(){ super('動(dòng)態(tài)測(cè)試'); //設(shè)置窗口 setSize(width,height); setLocationRelativeTo(null); setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); //啟動(dòng)線程 MyThread myThread = new MyThread(); myThread.start(); } //雙緩沖繪制解決圖片閃爍問(wèn)題 @Override public void paint(Graphics g) { Image image = this.createImage(width,height); Graphics gImage = image.getGraphics(); gImage.setColor(gImage.getColor()); gImage.fillRect(0,0,width,height); super.paint(gImage); //繪制背景 gImage.drawImage(bufferedImage,0 ,0 ,null ); //繪制動(dòng)態(tài)圖片 gImage.drawImage(this.image,0 ,100 ,null ); //最后繪制緩沖后的圖片 g.drawImage(image,0 ,0 , null); } private int num = 0;//images數(shù)組內(nèi)圖片索引 //線程內(nèi)部類 private class MyThread extends Thread{ @Override public void run() { while(true) { if(num <= 3) { image = images[num ++]; } else num = 0; repaint(); try { sleep(100);//每隔100毫秒重繪一次 } catch (InterruptedException e) { e.printStackTrace(); } } } } public static void main(String[] args) { new Demo_1(); }}
效果圖
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. html小技巧之td,div標(biāo)簽里內(nèi)容不換行2. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁(yè)3. ASP基礎(chǔ)入門第三篇(ASP腳本基礎(chǔ))4. js的一些潛在規(guī)則使用分析5. JSP之表單提交get和post的區(qū)別詳解及實(shí)例6. ASP實(shí)現(xiàn)加法驗(yàn)證碼7. 詳解瀏覽器的緩存機(jī)制8. XHTML 1.0:標(biāo)記新的開端9. asp讀取xml文件和記數(shù)10. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享
