Pessoal, preciso de ajuda, fiz um programa onde o JFileChooser abri uma imagem dentro do JLabel, esta funcionado tudo bonitinho, mas o problema eh que quando abro a imagem ela abre no tamanho original, sendo assim, dependendo do tamanho da imagem fica aparecendo somente uma parte da imagem, consegui coloca-la no tamanho certo, mas preciso redimensionar a imagem manualmente antes de inserir no sistema.
Eu estou com o mesmo problema, e não consegui resolver…
dem uma olhada no meu codigo fonte:
JFileChooserarquivo=newJFileChooser();arquivo.setDialogTitle("Selecione a Foto");arquivo.setFileSelectionMode(JFileChooser.FILES_ONLY);Filefile=newFile("user.dir");intoption=arquivo.showOpenDialog(this);if(option==JFileChooser.APPROVE_OPTION){file=arquivo.getSelectedFile();ImageIconimage=newImageIcon(file.getPath());lblFoto.setIcon(newImageIcon(image.getScaledInstance(lblFoto.getWidth(),lblFoto.getHeight(),Image.SCALE_DEFAULT)));lblFoto.repaint();}else{JOptionPane.showMessageDialog(null,"Você não selecionou nenhum arquivo!","Erro!",JOptionPane.ERROR_MESSAGE);}
V
ViniGodoy
Pq não tenta usar o JImagePanel sugerido?
S
santospedroh
Eu to usando o IDE Netbeans! tem como eu inserir um imagePanel no codigo fonte usando o netbens???
Obrigado!
V
ViniGodoy
Se eu não me engano, é só clicar no arquivo Java deve e move-lo para o local onde você quer que ele fique.
F
flaviomirandadesouza1 like
JFileChooser arquivo = new JFileChooser();
arquivo.setDialogTitle("Selecione a Foto");
arquivo.setFileSelectionMode(JFileChooser.FILES_ONLY);
File file = new File("user.dir");
int option = arquivo.showOpenDialog(this);
if(option == JFileChooser.APPROVE_OPTION) {
file = arquivo.getSelectedFile();
ImageIcon image = new ImageIcon(file.getPath());
lblFoto.setIcon(new ImageIcon(image.getScaledInstance(lblFoto.getWidth(),lblFoto.getHeight(), Image.SCALE_DEFAULT)));
lblFoto.repaint();
}
else{
JOptionPane.showMessageDialog(null,"Você não selecionou nenhum arquivo!", "Erro!", JOptionPane.ERROR_MESSAGE);
}
dentro do IF, remove tudo e coloca apenas essas duas linhas . . .
ImageIcon image = new ImageIcon(arquivo.getSelectedFile().getPath());
lblFoto.setIcon(new ImageIcon(image.getImage().getScaledInstance(lblFoto.getWidth(),lblFoto.getHeight(), Image.SCALE_DEFAULT)));