Tenho um problema, sou novato no java/netbeans e preciso adicionar uma imagem na lbl_foto e em seguida salva na coluna foto do banco de dados. um colega mais avançado me ajudou no código ele optou fazer da seguinte maneira clicar duas vezes no lbl_foto, que sem seguida abre a caixa para localizar a imagem, ela é redimensionada para o tamanho da lbl_foto e salva na pasta fotos que criei dentro do projeto já renomeada para evitar arquivos com o mesmo nome. Até ai tudo bem mas em seguida não conseguimos seguir pois no modelo que ele fez e funcionou ele utilizou uma tabela (jtable) que quando a linha é selecionada é salvo o arquivo renomeado na coluna foto da tabela, e no meu projeto não uso tabela apenas os campos a serem preenchidos. Acredito que falta apenas a parte do código que salva a imagem da pasta fotos para a coluna foto do banco de dados. Informações adicionais a coluna foto do banco de dados é do tipo blob. Antecipo meus agradecimentos
o código segue abaixo:
private void lbl_fotoMouseClicked(java.awt.event.MouseEvent evt) {
if (evt.getClickCount() == 2) {
JFileChooser fc = new JFileChooser();
fc.setFileFilter(new javax.swing.filechooser.FileFilter() {
@Override
public boolean accept(File f) {
String name = f.getAbsolutePath();
return name.endsWith("jpg") | name.endsWith("png") | name.endsWith("bmp") | f.isDirectory();
}
@Override
public String getDescription() {
return "imagem";
}
});
if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
String path = fc.getSelectedFile().getAbsolutePath();
ImageIcon icone1 = new ImageIcon(path);
Image img = icone1.getImage().getScaledInstance(lbl_foto.getWidth(), lbl_foto.getHeight(), Image.SCALE_DEFAULT);
lbl_foto.setIcon(new ImageIcon(img));
String nomeImagem = System.currentTimeMillis() + ".jpg";
File novaImagem = new File("./fotos/" + nomeImagem);
BufferedImage bi = new BufferedImage(lbl_foto.getWidth(), lbl_foto.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = bi.createGraphics();
g2d.drawImage(img, null, null);
g2d.dispose();
try {
ImageIO.write(bi, "jpg", novaImagem);
} catch (IOException ex) {
java.util.logging.Logger.getLogger(TelaCadastro.class.getName()).log(Level.SEVERE, null, ex);
}
}
}