Bonjour,

Après avoir lutter pour faire de l'affichage d'image, j'essaye le GridBagLayout... Beurk...

J'ai lu ce que je pouvais dessus, mais je n'arrive tjs pas à en comprendre le fonctionnement.

Un petit truc tout simple par exemple. Les paramêtres gridwidth et gridheght ne semble rien faire sur mon prog...

L'exemple suivant me donne 2 JPanels strictement identique. alors que le Gridwidth est différent pour chacun...
(a noter que meme en passant les weights en commentaires, ca ne modifie pas la largeur relative de mes JPanels.

Un grand merci à ceux qui prendront la peine d'éclairer mon obscure lanterne.

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 
 
import java.awt.*;
import javax.swing.*;
 
 
public class Test
{
	public static void main(String[] args)
	{
 
		//Creation Frame
		Fenetre_principale appli = new Fenetre_principale();
		appli.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        appli.setVisible(true);
    }
} 
 
 
 
class Fenetre_principale extends JFrame {
	public Fenetre_principale() {
 
	    setLocation(50,50);
	    setSize(400,400);
		GridBagLayout layout = new GridBagLayout();
		this.setLayout(layout);
 
 
        //Creation Panels & remplissage
		Panneau_navigation Zone_navigation = new Panneau_navigation();
		GridBagConstraints c1 = new GridBagConstraints();
	      c1.gridx = 3;
	      c1.gridy = 0;
	      c1.gridwidth = 1;
	      //c1.gridheight = 2;
	      c1.anchor = GridBagConstraints.FIRST_LINE_END;
	      c1.fill = GridBagConstraints.BOTH;
	      c1.weightx = 1;
	      c1.weighty = 1;
	    add(Zone_navigation,c1);
 
 
		Panneau_image Zone_image = new Panneau_image();
		GridBagConstraints c2 = new GridBagConstraints();
	      c2.gridx = 0;
	      c2.gridy = 0;
	      c2.gridwidth = 2;
	      //c2.gridheight = 2;
	      c2.anchor = GridBagConstraints.CENTER;
	      c2.fill = GridBagConstraints.BOTH;
	      c2.weightx = 1;
	      c2.weighty = 1;
	    add(Zone_image,c2);
        setVisible(true);
	}
}
 
class Panneau_navigation extends JPanel {
	public Panneau_navigation(){
		this.setBackground(Color.red);
	}
}
 
 
class Panneau_image extends JPanel {
 	public Panneau_image (){
		this.setBackground (Color.BLUE);
	}
}


R