Como redimensionar imagem no JLabel(RESOLVIDO)

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.

meu codigo e esse abaixo:

[code] JFileChooser fc = new JFileChooser();
FileFilter ft = new FileFilter() {

        @Override
        public boolean accept(File f) {
            String file = f.getName();
           return file.endsWith(".jpg") | f.isDirectory();          
       }


        @Override
        public String getDescription() {
            return "jpg";
        }
    };

    fc.setFileFilter(ft);
    fc.showOpenDialog(null);
    File f = fc.getSelectedFile();
    Image image = null;
    try {
        image = ImageIO.read(f);
    } catch (IOException ex) {

        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
    }
    labFotoMembros.setIcon(new ImageIcon(image));[/code]

como posso fazer a imagem ser redimensionada dentro do JLabel, de forma automatizada???

Uma pergunta igual a sua foi feita dias atrás! Mas dá uma olhada nesse tópico e vê se te ajuda!
http://www.guj.com.br/posts/list/127809.java

[quote=thiago.correa]Uma pergunta igual a sua foi feita dias atrás! Mas dá uma olhada nesse tópico e vê se te ajuda!
http://www.guj.com.br/posts/list/127809.java[/quote]

Valew camarada, deu certo!!!

Acrescentei isso isso no meu codigo:

labFotoMembros.setIcon(new ImageIcon(image.getScaledInstance(labFotoMembros.getWidth(),labFotoMembros.getHeight(), Image.SCALE_DEFAULT)));

Mais fácil ainda seria substituir o label por um JImagePanel: http://www.guj.com.br/posts/list/56248.java#295271

Eu estou com o mesmo problema, e não consegui resolver…

dem uma olhada no meu codigo fonte:

 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);
        }

Pq não tenta usar o JImagePanel sugerido?

Eu to usando o IDE Netbeans! tem como eu inserir um imagePanel no codigo fonte usando o netbens???

Obrigado!

Se eu não me engano, é só clicar no arquivo Java deve e move-lo para o local onde você quer que ele fique.

[code]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);  
   }  [/code]

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)));

1 curtida