أحتاج كود أخذ لقطة للشاشة بلغة جافا
قمت بعمل دالة تقوم بأخذ صورة للشاشة (screen shoot) و لكن عند استدعاء هذه الدالة فهي لا تعمل.
كود الدالة داخل الكلاس:
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Main {
public static void PrintScreen2(String ImageName, JFrame form) {
try {
form.setState(1);
Robot r = new Robot();
Rectangle rec = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage img = r.createScreenCapture(rec);
ImageIO.write(img, "jbg", new File(ImageName + ".jbg"));
form.setState(0);
}
catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex);
}
}
}
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Main {
public static void PrintScreen2(String ImageName, JFrame form) {
try {
form.setState(1);
Robot r = new Robot();
Rectangle rec = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage img = r.createScreenCapture(rec);
ImageIO.write(img, "jbg", new File(ImageName + ".jbg"));
form.setState(0);
}
catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex);
}
}
}
ملاحظة: أستخدم برنامج Netbeans.