Tenho um botão EXPORTAR que tira uma SCREEN de uma área da minha tela e SALVA no lugar desejado.
Função PrintScreen
public BufferedImage takeAPrint() throws Exception{
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
Rectangle screenRect = new Rectangle(screenSize);
Robot robot = new Robot();
BufferedImage screenCapturedImage = robot.createScreenCapture(screenRect);
return screenCapturedImage;
}
Função Exportar
private void btPranchaExportarActionPerformed(java.awt.event.ActionEvent evt) {
try{
BufferedImage screen = takeAPrint();
}catch(Exception e){}
JFileChooser fc = new JFileChooser();
javax.swing.filechooser.FileFilter ff = new ImageFileFilter();
fc.setFileFilter(ff);
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
fc.setMultiSelectionEnabled(false);
fc.setName("Escolha de Arquivo para Exportar");
FileDialog fd = new FileDialog(this, "Exportando para:", FileDialog.SAVE);
fd.setVisible(true);
String filePath = fd.getDirectory() + File.separator + fd.getFile();
File arquivoDestino = new File(filePath);
if (arquivoDestino.exists()) {
if (JOptionPane.showConfirmDialog(this, "Deseja Sobrescrever arquivo já existente?", "Arquivo Existente", JOptionPane.YES_NO_OPTION) == JOptionPane.NO_OPTION) {
return;
}
}
ImageIO.write(screen, "JPG", arquivoDestino);
}
Ele não deixa eu salvar, diz que não acha a variável SCREEN.
Sou meio novato, quero saber que lógica que ta errada :\
Depois quero implementar um botão IMPRIMIR que imprime um print (sem salvá-lo)