Bonjour,

Alors, j'ai une JFrame que j'ai initialisé en GridBagLayout.
Puis j'ai créé ma GridBagContraints que je manipule pour insérer des JButton, des JLabel et autres ...

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
 
 
public static void addPane(Container pane,Hero hero) {
 
        JLabel label;
	pane.setLayout(new GridBagLayout());
	GridBagConstraints c = new GridBagConstraints();
        int ligne=0;
 
        /*
        Tous mes JButton et mes JLabels
        */
 
        c.gridy = 0;
        c.gridx = 5;
 
        JScrollBar hbar = new JScrollBar(JScrollBar.VERTICAL, 30, 20, 0, 300);
        c.gridheight = ligne;
        c.fill = GridBagConstraints.VERTICAL;
        pane.add(hbar,c);
 
}
 
 
private static void ShowGUI(Hero hero) {
 
        JFrame frame = new JFrame("Hero");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        //frame.setResizable(true);
 
        addPane(frame.getContentPane(),hero);
 
        //frame.setPreferredSize(new Dimension(1024,756));
 
        frame.pack();
        frame.setVisible(true);
    }
 
    public Model(final Hero hero){
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                ShowGUI(hero);
            }
        });
    }
Le problème c'est que ma fenêtre devient assez imposante et dès que je veux la redimensionner, tout part en vrille (à cause des dimensions des boutons et des labels).

Mon idées était de mettre une dimension fixe à ma frame puis de lui ajouter des ScrollBar pour naviguer mais je suis bloqué.

Est-ce que quelqu'un a une idée ou il existe peut-être une autre solution ??

Merci d'avance

PS: désolé pour les fautes d'orthographes