ScaledInstance

Boa noite,

Alguém pode corrigir este bocado de código, deveria redimensionar mas nem sequer aparece meto o getScaledInstance.

public void paintComponent(Graphics g) {
         super.paintComponent(g);
         Dimension dDesktop = this.getSize();

         double width = dDesktop.getWidth();
         double height = dDesktop.getHeight();

        ImageIcon icon = new ImageIcon(this.getClass().getResource("../Imagens/teste.jpg"));
        Image img = icon.getImage().getScaledInstance((int) width, (int) height, Image.SCALE_DEFAULT);

         g.drawImage(img, 0, 0, this);
     }

Obrigado

O que você quer fazer?

Redimensionar a imagem no JPanel

Dê uma olhada em como eu fiz no JImagePanel:
http://www.guj.com.br/posts/list/56248.java

Mas no seu código tem vários problemas:

  1. Não carregue imagens do disco no paintComponent. O paintComponent é chamado o tempo todo, e ficar recarregando a imagem do disco vai comprometer seriamente a performance;
  2. Não carregue usando o ImageIcon. O método atual para se carregar imagem é através da classe ImageIO;
  3. Use o método drawImage que recebe as dimensões finais da imagem. Esse método já fará a escala para você;

Muito obrigado vini vou dar uma olhadela no seu código