Captura Tela [Resolvido]

Estou com um problema na qual, estou tentando capturar a tela com alt+tab dando um
print screen nela so que a primeira vez ele pega normal, ja a segunda vez ele pega a mesma imagem
da primeira alguem sabe me dar alguma ideia do que fazer?

[code]try {

                                // Alterna para a última janela acessada
                                Robot robot = new Robot();
                                robot.keyPress(KeyEvent.VK_ALT);
                                robot.keyPress(KeyEvent.VK_TAB);
                                robot.keyRelease(KeyEvent.VK_TAB);
                                robot.keyRelease(KeyEvent.VK_ALT);
                                
                                Thread.sleep(1000);
                                
                                robot.keyPress(KeyEvent.VK_ALT);
                                robot.keyPress(KeyEvent.VK_PRINTSCREEN);
                                
                                //Busca imagem da Area de Transferencia
                                Clipboard clip = null;
                                
                                clip = Toolkit
                                .getDefaultToolkit()
                                .getSystemClipboard();
                                
                                Transferable clipboardContents = null;
                                
                                clipboardContents = 
                                	clip.getContents(null);
                                
                                BufferedImage bimage = null;
                                
                                //Executa captura da tela
                                bimage = (BufferedImage) 
                                clipboardContents.getTransferData(DataFlavor.imageFlavor); 
                                
                                ByteArrayOutputStream out = null;
                                
                                // Cria array de bytes com a imagem
                                // capturada
                                out = new ByteArrayOutputStream();
                                ImageIO.write(bimage, "PNG", out);
                                imageBytes = null;
                                imageBytes = out.toByteArray();
                                out.close();
                                
                                // Volta para a tela de origem
                                robot.keyPress(KeyEvent.VK_ALT);
                                robot.keyPress(KeyEvent.VK_TAB);
                                robot.keyRelease(KeyEvent.VK_TAB);
                                robot.keyRelease(KeyEvent.VK_ALT);
                                
                                
                            } catch (Exception e) {
                                e.printStackTrace();
                            }[/code]

Não sei se é esse o problema… mas voce pode usar o metodo createScreenCapture da classe Robot.

Como diz o nome, ele captura a tela e retorna um BufferedImage que voce pode salvar com o ImageIO.

Na verdade eu precisava so do print da tela em foco e não dela inteira, mas
acabei achando a solução, estava esquecendo de fazer o Release na tecla e dar
um tempo para isto… ficou desta forma dai:

robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_PRINTSCREEN);
Thread.sleep(1000);
robot.keyRelease(KeyEvent.VK_PRINTSCREEN);
robot.keyRelease(KeyEvent.VK_TAB);