Bonjour à vous

Voici mon problème. Dans le code suivant, j'insère une image qui est censée servir de background à un JDesktopPane :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
private JDesktopPane getJDesktopPane() {
		if (jDesktopPane == null) {
			jDesktopPane = new JDesktopPane();
			try{
				java.net.URL url = getClass().getResource("toto.png");
				java.awt.image.BufferedImage image = javax.imageio.ImageIO.read(url);
				jDesktopPane.setBorder(new CentredBackgroundBorder(image));
			}
			catch(java.net.MalformedURLException murle){ murle.printStackTrace(); }
			catch(java.io.IOException ioe){ ioe.printStackTrace(); }
		}
		return jDesktopPane;
	}
Voici la classe annexe qui me permet d'effectuer cette opération:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
package com.bioxpr.gui;
 
import javax.swing.border.Border;
import java.awt.*;
import java.awt.image.BufferedImage;
 
public class CentredBackgroundBorder implements Border {
 
	private final BufferedImage image;
 
	public CentredBackgroundBorder(BufferedImage image) {
		this.image = image;
	}
 
	public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
		/*int x0 = x + (width-image.getWidth())/2;
		int y0 = y + (height-image.getHeight())/2;*/
		int x0 = 0;
		int y0 = 0;
		g.drawImage(image, x0, y0, null);
	}
 
	public Insets getBorderInsets(Component c) {
		return new Insets(0,0,0,0);
	}
 
	public boolean isBorderOpaque() {
		return true;
	}
 
}
Un petit détail que je n'arrive pas à résoudre est que je voudrais que l'image remplisse l'ensemble du JDesktopPane malgré sa taille (800*600) et, si possible, qu'elle se redimensionne en même temps que le JDesktopPane. Est-ce possible ?
Merci de vos infos.

@++