Something is causing this error and I don't know why:
here is RecordThread class:Code:Exception in thread "Thread-2" java.lang.IllegalArgumentException: im == null!
at javax.imageio.ImageIO.write(Unknown Source)
at javax.imageio.ImageIO.write(Unknown Source)
at RecordThread.run(RecordThread.java:44)
at java.lang.Thread.run(Unknown Source)
How can I fix this error?Code:import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.MouseInfo;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class RecordThread implements Runnable{
public int PIC_ID;
public RecordThread(int id){
setPIC_ID(id);
}
public int getPIC_ID() {
return PIC_ID;
}
public void setPIC_ID(int pIC_ID) {
PIC_ID = pIC_ID;
}
@Override
public void run() {
Core.log("Starting thread for PIC_ID" + getPIC_ID());
try {
Robot robot = new Robot();
DrawImageThread dit = new DrawImageThread();
BufferedImage image = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
Thread t = new Thread(new DrawImageThread(image, getPIC_ID()));
t.start();
Thread.sleep(1000);
ImageIO.write(dit.returnedImage(), "png", new File(System.getProperty("user.home") + "\\SCapture\\.temp\\img"+getPIC_ID()+".png"));
} catch (AWTException e) {
// TODO Auto-generated catch block
Core.log("Exception #3");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Core.log("PIC_ID" + getPIC_ID());
}
}

