屏幕录象java版软件,小心共享下.一时兴起写的哦.__播放所有的帧:WnetWScreenRecordPlayer.java

来源:互联网 发布:深圳数据库开发培训 编辑:程序博客网 时间:2024/04/29 03:23

屏幕录象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;
}

}

原创粉丝点击