Tenho um código que faz uma captura de tela e queria que essa captura (imagem) fosse enviada para outra tela (JFrame)
Como faço isso? Pois no meu não estou conseguindo.
Acredito que seja coisa boba que estou deixando passar, mas como não sou programador (o faço só por diversão) não consigo identificar.
Obs: A sintaxe está certo, qualquer erro é de minha digitação aqui, mesmo!
Meu código:
[code]
package meuPacote
//Importações aqui
public class Janela extends JFrame
{
//Geração dos conteiners.
public class Janela()
{
capturaTela = new JButton(“Captura de tela”)
//Outros conteiners e suas definições.
capturaTela.addActionListener(New CapturaTelaActionListener());
}
private class CapturaTelaActionListener implements ActionListener
{
public void actionPerformed(ActionEvent evento)
{
try
{
Robot capturaTela = new Robot();
Image imagem;
imagem = capturaTela.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
TelaCaptura captura = new TelaCaptura();
captura.telaCaptura(imagem);
captura.show();
}
catch(Exception e)
{
}
}[/code]
Aqui o novo Frame. O que vai receber a imagem à ser exibida.
package meuPacote
//Importações.
public class TelaCaptura extends JFrame
{
//Gerando conteiners.
public void telaCaptura(Image imagem)
{
try
{
salvar = new JButton("Salvar imagem");
barra = new JToolBar();
barra.add(salvar);
mostrarImagem = new JLabel();
Image escalada = imagem.getScaledInstance((int) mostrarImagem.getSize().getWidth(),
(int) mostrarImagem.getSize().getWidth(), Image.SCALE_SMOOTH);
mostrarImagem.setIcon(new ImageIcon(escalada));
janela = new JFrame("Captura de tela");
janela.getContentPane().add(barra, BorderLayout.NORTH);
janela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
janela.add(mostrarImagem);
janela.setSize(1000,8000);
janela.setVisible(true);
salvar.addActionListener(new SalvarActionListener());
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "Erro ao carregar imagem", "Erro", ERROR);
}
}
Sei que vai ser meio cançativo a leitura do código então agradeço a ajuda e paciência desde já.
Bem, como não consegui ajuda dos amigos aqui, tive que “matutar” em como resolver o problema.
Então, depois de alguns dias tentando consegui e vou postar aqui caso alguém precise.
salvar = new JButton("Salvar imagem");
sair = new JButton("Sair");
barra = new JToolBar();
barra.add(salvar);
barra.add(sair);
mostrarImagem = new JLabel();
mostrarImagem.setIcon(new ImageIcon(imagem));
//Setting Graphic Interface.
janela = new JFrame("Captura de tela");
janela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
janela.getContentPane().add(barra, BorderLayout.NORTH);
janela.add(mostrarImagem);
janela.setSize(1000,800);
janela.setVisible(true);
salvar.addActionListener(new SalvarActionListener());
sair.addActionListener(new SairActionListener());