Я создал небольшую программу, которая должна делать снимок экрана, когда я нажимаю кнопку. Это происходит, однако, как только я щелкаю по нему и делаю снимок экрана, и он сохраняется как «снимок экрана», я не могу щелкнуть по нему и взять другой снимок без перезаписи только что сделанного снимка. Я хочу, чтобы он мог принимать несколько и сохранять их все, не закрывая программу.
Скриншот моего кода, который я сделал с моей программой.
Спасибо!
EDIT:
package screenshot;
import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class NewJFrame extends javax.swing.JFrame {
public NewJFrame() {
initComponents();
}
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jButton1.setIcon(new javax.swing.ImageIcon("C:\\Users\\manwe\\Desktop\\java stuff\\6inch_1.png")); // NOI18N
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton1)
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Robot robot = new Robot();
String format = "png";
String fileName = "screenshot." + format;
Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage screenFullImage;
BufferedImage BufferedImage = screenFullImage = robot.createScreenCapture(screenRect);
ImageIO.write(screenFullImage, format, new File(fileName));
} catch (AWTException | IOException ex) {
}
}
public static void main(String args[]) {
try {
Robot robot = new Robot();
String format = "png";
String fileName = "screenshot." + format;
Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage screenFullImage;
BufferedImage BufferedImage = screenFullImage = robot.createScreenCapture(screenRect);
ImageIO.write(screenFullImage, format, new File(fileName));
} catch (AWTException | IOException ex) {
}
java.awt.EventQueue.invokeLater(() -> {
new NewJFrame().setVisible(true);
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
// End of variables declaration
}