Atribuindo Imagens ao JImagePanel

Olhe abaixo |ABAIXO|

Naum sabe? è so quandu entra com o arquivo otamanho do imagepanel muda para o tamanho real do arquivo so isso!
o codigo é grande?
Gente agora ele imprime o nome,local,altura largura e vo postar o codigo de tudo!

fc.setDialogTitle("Abrindo..."); fc.setDialogType(JFileChooser.OPEN_DIALOG); fc.showDialog(this, null); File arquivo = null; BufferedImage src = null; int altura_arquivo = 0; int largura_arquivo = 0; String largurastring = null; String alturastring = null; try { arquivo = fc.getSelectedFile().getAbsoluteFile(); src = ImageIO.read(arquivo); imagePanel1.setImage(src); nome_imagen.setText(fc.getSelectedFile().getName()); local.setText(fc.getSelectedFile().getAbsolutePath()); largura_arquivo = src.getWidth(); altura_arquivo = src.getHeight(); alturastring = ""+altura_arquivo; largurastring = ""+largura_arquivo; largura.setText(largurastring); altura.setText(alturastring); repaint(); } catch(FileNotFoundException erro) { JOptionPane.showMessageDialog(null, "Não achou o arquivo!"); } catch(IOException erro) { JOptionPane.showMessageDialog(null, "Erro ao ler o arquivo!"); }

Não entendi nada.