Trocar imagem de fundo de Jdesktoppanel sem fechar aplicação

Boa tarde pessoal,
Tenho uma classe que se chama MyDesktopPane ( extends de um JDesktopPane ) nesta classe eu passo minha classe principal (jframe) e a imagem de fundo, quando eu abro a aplicação a imagem mostra corretamente, porém tenho um botão que quando o usuário clicar ele trocaria a imagem de fundo (sem fechar a aplicação), olhei os post e tentei várias formas e mesmo assim não funcionou, alguem poderia me ajudar?

Classe de JDesktopPane

public class MyDesktopPane extends JDesktopPane {
	Image img;
	TelaPrincipal telaPrincipal;
	
	public MyDesktopPane(TelaPrincipal telaPrincipal, Image img2) {
		this.telaPrincipal = telaPrincipal;
		
		try {
			img = img2;
			// img = javax.imageio.ImageIO.read(new java.net.URL(getClass().getResource("08.jpg"), "08.jpg"));
		} catch (Exception e) {}
	}
	
	@Override
	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		g.drawImage(img, 0, 0, screenSize.width - 1, screenSize.height - 1, this);
	}
}

Na classe principal faço a instancia e passo a tela principal e imagem default.

public static MyDesktopPane desk;
Image img;
img = javax.imageio.ImageIO.read(new java.net.URL(getClass().getResource("08.jpg"), "08.jpg"));
desk = new MyDesktopPane(this,img);
TelaPrincipal.add("Center", desk);

E no botão que estou testando queria mudar a imagem, segue meu código:

public void actionPerformed(ActionEvent e) {
	if (e.getSource() == jbFolder) {
		Image img;
		
		try {
			img = javax.imageio.ImageIO.read(new java.net.URL(getClass().getResource("07.jpg"), "07.jpg"));
			desk = new MyDesktopPane(this,img);
			this.repaint();
			this.revalidate();
			//Desktop.getDesktop().open(new File(util.getANTHOMEPATH()));
		} catch (MalformedURLException ex) {
			Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
		} catch (IOException ex) {
			Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
		}
	}

Já tentei de tudo mas não troca de jeito nenhum o fundo.
Alguem teria uma ideia de como fazer?

Cria um método setImage na sua classe e chama ele.

Obrirgado @staroski deu certo!!! tinha visto um exemplo mas nao tinha entendido corretamente. Obrigado deu certo.