Henrique,
Seguindo sua dica, acho q estou quase lá. Porém existe um problema. Consegui pegar a imagem "real" e tratar ela para que ficasse redimensionada em meu label. Salva certinho.
Mas quando vou Exibir o registro que ja esta salvo ele me mostra a foto em tamanho Gigante, o tamanho padrão. Preciso saber como usar o metodo que ja fiz onde ele faz o tratamento, no mesmo lugar onde exibo a imagem com os outros registros. Veja:
Este é o q uso para abrir e salvar o caminho. Nesse metodo ele também redimensiona minha imagem
JFileChooser fileChooser = new JFileChooser();
fileChooser.setDialogTitle("Importar imagem");
FileNameExtensionFilter filtro = new FileNameExtensionFilter("Arquivo de Imagem", "jpg", "gif", "png"); //teste
fileChooser.setFileFilter (filtro); //teste
if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
{
File arquivo = fileChooser.getSelectedFile();//arquivo
BufferedImage bi = null;
try {
bi = ImageIO.read(arquivo); //carrega a imagem real num buffer
} catch (IOException ex) {
Logger.getLogger(CadastrarClientes.class.getName()).log(Level.SEVERE, null, ex);
}
BufferedImage aux = new BufferedImage(140, 85, bi.getType());//cria um buffer auxiliar com o tamanho desejado
Graphics2D g = aux.createGraphics();//pega a classe graphics do aux para edicao
AffineTransform at = AffineTransform.getScaleInstance((double) 150 / bi.getWidth(), (double) 120 / bi.getHeight());//cria a transformacao
g.drawRenderedImage(bi, at);//pinta e transforma a imagem real no auxiliar
lbFoto.setIcon(new ImageIcon(aux));//seta no jlabel
jtfFoto.setText(arquivo.getPath());
}
}
Neste é onde avanço o registro, porém ele mostra a imagem no tamanho real, ignorando o metodo de tratamento acima, como uso o metodo acima para que faça a mesma coisa?
if (index <= clienteList.size() - 1) {
try {
Clientes contatoAtual = clienteList.get(index);
jtfNome.setText(contatoAtual.getNome());
jtfFoto.setText(contatoAtual.getFoto());
lbFoto.setIcon(new ImageIcon(jtfFoto.getText()));
}
}