屏幕錄象java版軟件,小心共享下.一時興起寫的哦.__播放所有的幀:WnetWScreenRecordPlayer.java

屏幕錄象java版軟件,小心共享下.一時興起寫的哦.__播放所有的幀:WnetWScreenRecordPlayer.java

//播放所有的幀
package com.zip;

import java.awt.*;
import javax.swing.*;
import java.io.*;


public class WnetWScreenRecordPlayer extends JFrame{
private static String f;

BorderLayout borderLayout1 = new BorderLayout();
Dimension screenSize;

public WnetWScreenRecordPlayer(String g) {
   super();
   f=g;
   screenSize = Toolkit.getDefaultToolkit().getScreenSize();
   this.setSize(screenSize);
   Screen p = new Screen(f);
   Container c = this.getContentPane();
   c.setLayout(borderLayout1);
   c.add(p,"Center");
   new Thread(p).start();
   this.show();
}

public static void main(String[] args){
//   new WnetWScreenRecordPlayer("e:/123");
}

public static String getF() {
   return f;
}

public static void setF(String f) {
   WnetWScreenRecordPlayer.f = f;
}

}

class Screen extends JPanel implements Runnable{
private static String file2;
private BorderLayout borderLayout1 = new BorderLayout();
private Image cimage;

public void run(){
   int i = 0;
   File file=new File(file2);
   if(file.isDirectory()){
//    String[] filelist=file.list();
    for(i=0;i<file.list().length;i++){
     try{
      cimage = loadImage(i + ".png");
//      i = i + 1;
      repaint();
      Thread.sleep(40);//與錄像時每秒幀數一致

     }catch(Exception e){
      e.printStackTrace();
      System.out.println(e);
     }
    }
    System.out.println("ok.........");
    new DeleteFile().delFolder(file2);
    System.exit(0);
   }
}

public Image loadImage(String name) {
   Toolkit tk = Toolkit.getDefaultToolkit();
   Image image = null;
   image = tk.getImage(file2 +"/"+ name);
   System.out.println(file2 +"/" + name);
   MediaTracker mt = new MediaTracker(this);
   mt.addImage(image, 0);
   try {
    mt.waitForID(0);
   }catch (Exception e) {
    e.printStackTrace();
    System.out.println(e);
   }
   return image;
}

public Screen(String f) {
  
   super();
   file2=f;
   this.setLayout(null);
}

public void paint(Graphics g){
   super.paint(g);
   Graphics2D g2 = (Graphics2D) g;
   g2.drawImage(cimage, 0, 0, null);
}

public static String getFile2() {
   return file2;
}

public static void setFile2(String file2) {
   Screen.file2 = file2;
}

}

發佈了139 篇原創文章 · 獲贊 5 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章