Salvar e Redimensionar Foto

Olá pessoal! É o seguinte, eu pego a foto com esse código, é um botão e ela é carregada neste mesmo botão:


btnFoto.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          JFileChooser fc = new JFileChooser();

          int res = fc.showOpenDialog(null);
          if(res == JFileChooser.APPROVE_OPTION){
     File arquivo = fc.getSelectedFile();  
          
            imagem = null;
          
            try{
              imagem = ImageIO.read(arquivo);
              String foto =fc.getSelectedFile().getName();   
            }
            catch(IOException exc){
              JOptionPane.showMessageDialog(null, 
                "Erro ao carregar a imagem: " + 
                exc.getMessage());
            }

            if(imagem != null){
              areaImagem.imagem = imagem;
              areaImagem.repaint();  
            }
          }
        }
      }
    );

Acima o evento no botão o qual pego a foto. Mas ela não se redimensiona automaticamente, que era o que eu
estou a investigar ainda. Essa é uma das dúvidas…

A outra é, como essa foto pega no botão pode ser salva no ficheiro que eu tenho criado…

Obrigado!

Oi,
para salvar a imagem em um arquivo você pode usar algo do tipo:

BufferedImage image;
//Carrega a imagem a partir de um arquivo
image = ImageIO.read(new File(inputFilePath));
//manipula a imagem...
//"Escreve" a imagem em um novo arquivo, cuja extensão e nome podem ser especificados
ImageIO.write(image, outputExtension, new File(outputFileName+"."+outputExtension));

A imagem não vai ficar do tamanho do container dela sem que você faça isso manualmente. Sugiro criar uma subclasse do objeto em que você deseja inserir a foto, com um método que já faz esse trabalho de resize.
Espero ter ajudado.