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