Bonjour à tous,

Je souhaite mettre un scrolling sur un JPanel. J'ai vu sur le forum que c'était une question assez récurrente, mais je n'ai pas trouvé de solutions à mon problème...
Ma fenêtre se décompose en plusieurs partie. En gros, dans la partie gauche, j'ai une Jtable (avec un scroll qui fonctionne bien). Lorsque l'on clique sur un élément de cette JTable cela met à jour des informations présentes sur la droite.
La partie droite contient une partie "haute" qui contient des images et une partie basse qui contient du texte.
Je voudrais rajouter un scrolling sur la partie "haute" (les images) car elles sont parfois trop grandes et "s'étalent" sur la partie du bas. C'est à dire que les images recouvrent le texte de la partie basse.

Voici comment je crée mon JscrollPane :

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
 
private JScrollPane getScrollPanelImages () {
		if (scrollPanelImages==null) {
			scrollPanelImages = new JScrollPane(getJPanelImages());
		}
		return scrollPanelImages;
	}
 
public JPanel getJPanelImages() {
		if (jPanelImages == null) {
			jPanelImages = new JPanel();
			jPanelImages.setPreferredSize(new Dimension(530, 375));
			jPanelImages.setLayout(new FlowLayout());
			jPanelImages.add(getJPanelImage1());
			jPanelImages.add(getJPanelImage2());
			jPanelImages.setMinimumSize(new Dimension(530, 10));
		}
		return jPanelImages;
	}
 
public JPanelImage getJPanelImage1() {
		if (jPanelImage1 == null) {
			jPanelImage1 = new JPanelImage();
			jPanelImage1.setPreferredSize(new Dimension(256, 384));
		}
		return jPanelImage1;
	}
Et pour ceux qui lisent jusqu'au bout : le code de JPanelImage (je ne pense pas que cela joue, mais bon...)

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
 
public class JPanelImage extends JPanel {
	BufferedImage image = null;
 
	public JPanelImage () {
		super();
		setVisible(true);
	}
 
	// On redéfinit paint pour afficher l'image
	public void paintComponent (Graphics g) {
		if (image!=null) {
			g.drawImage(image, 0, 0, null);
		}
	}
 
	public void loadImage (String path) {
		image = ImageToolkit.loadImagefromPath(path);
		if (image==null) {
			try {
				image = ImageIO.read(JPanelImage.class.getResource("0.png"));
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		setSize(image.getWidth(), image.getHeight());
	    updateUI();
	}
}
Merci pour l'aide que vous pourriez m'apporter, car là j'ai fait le tour de tout ce à quoi j'ai pu penser pendant ces longues heures d'errance !