Escolhendo imagem para o JDesktopPane usando JFileChooser

Pessoal,

Estou com um problema aki.
Recentemente, aki nos forum, vi como colocar uma imagem no JDesktopPane.
Porem gostaria, que o usuario pudesse mudar a imagem dele.
Eu criei classes mas a imagem não esta mudando no JDesktopPane.

primeiro fiz o seguinte

[code]public class FileChooser extends Screen {

private JDialog dialog;
private JFileChooser fc;

public FileChooser(java.awt.Frame parent, boolean modal) {
    dialog = new JDialog(dialog, modal);
    fc = new JFileChooser();
    setComponent(dialog);
    setContainer(dialog.getContentPane());
}

public String openDocument() {
    String path = null;
    fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
    
    int resultado = fc.showOpenDialog(null);
    if (resultado == JFileChooser.APPROVE_OPTION) {
        path = fc.getSelectedFile().getPath();            
    }

    return path;
}

}[/code]

Depois fiz o seguinte

[code]public static void createImageDesktopPane(String file) {
//Adiciona uma imagem como plano de fundo do desktop
if (file != null) {
file = file.replace("\", “/”);
System.out.println(file);
URL path = TelaPrincipal.class.getResource(file);
img2 = Toolkit.getDefaultToolkit().getImage(path);
// final ImageIcon img = new ImageIcon(img2);
}

    desktop = new JDesktopPane() {
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            if (img2 != null) {
                g.drawImage(img2, 0, 0, this.getWidth(), this.getHeight(), this);
            }
        }
    };

}[/code]

Esse metodos esta numa JFrame onde possui uma instancia de JDesktopPane

quando inicia esse aplicação eu dou um print para mostar o resultado

/qsoftcom/ui/icone/planofundo3.png E:/Desenvolvimento/Imagens/Icones para o Sistema/Planos de Fundo/plano sardanha.jpg
a primeira imagem está na pasta do projeto do netbeans
a segunda é uma imagem que o usuario escolhe

a primeira abre, mas a segunda naum. o que pode estar errado?

valew galera