Bonjour,

Je suis en train de développer un logiciel permettant de transférer des fichiers via plusieurs protocoles. Je suis en ce moment sur l'interface. Mon problème c'est que j'arrive pas a bien fixer mes widgets sur ma grille. J'ai un peu de mal a expliqué, donc je vous joint mon src.

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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package UI;
 
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
import java.text.NumberFormat;
 
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
 
import tree.TreeSystem;
import tree.TreeSystemMenu;
 
public class PanelSelection extends JPanel {
 
    private JPanel panel_select;
    private JTextField adresse;
    private JFormattedTextField port;
    private JButton benvoi;
    private JComboBox cb;
    private String cote;
    private NumberFormat portFormat = NumberFormat.getNumberInstance();
 
	public PanelSelection(int cote)  
// j'instancie cette classe avec 0 pour le cote gauche et 1 pour le cote droit
	{
		setLayout(new GridBagLayout());
		setBorder(BorderFactory.createTitledBorder("Transfert"));
		GridBagConstraints c=new GridBagConstraints();
		c.fill=GridBagConstraints.BOTH;
		c.insets=new Insets(1,1,0,10);
		c.weightx=c.weighty=0;
 
		c.gridwidth=2; c.gridheight=1;
 
		// Ajout du text contenant l'IP
		adresse = new JTextField();
	//sadresse.setPreferredSize(new Dimension(40,20));
		adresse.setHorizontalAlignment(JTextField.RIGHT);
		if( cote == 0 )
			c.gridx=1; 
		else
			c.gridx=2;
		c.gridy=0;
	//	c.gridwidth = 1; c.gridheight=1;
		add(adresse, c);
 
 
		// Ajout du bouton de parcours
		c.gridwidth=1; c.gridheight=1;
		if( cote== 0 )
			benvoi = new JButton("=>");
		else
			benvoi = new JButton("<=");
		benvoi.setPreferredSize(new Dimension(50,20));
		if( cote == 0 )
			c.gridx=2; 
		else
			c.gridx=0;
		c.gridy=0;
	//	c.gridwidth=1; c.gridheight=1;
		add(benvoi, c);
 
		//Ajout de la combobox
		c.gridwidth=1; c.gridheight=1;
		cb = new JComboBox();
		cb.setPreferredSize(new Dimension(60,20));
		cb.addItem("FTP");
		cb.addItem("SSH");
		if( cote == 0 )
			c.gridx=0; 
		else
			c.gridx=1;
		c.gridy=0;
		//c.gridwidth=1; c.gridheight=1;
		add(cb, c);
/*
 
		// Ajout du texte contenant le port
		c.gridx=0; c.gridy=1;
	  //	c.gridwidth=1; c.gridheight=1;
		if( cote==0)
		    add(new JLabel("Port Reception"), c);
		else
		    add(new JLabel("Port Envoi"), c);
 
		port = new JFormattedTextField(portFormat);
		port.setPreferredSize(new Dimension(40,20));
		port.addPropertyChangeListener(new PropertyChangeListener()
		    {
			public void propertyChange(PropertyChangeEvent e)
			{
			    Object source = e.getSource();
			    if( source == port && port.getValue()!=null)
			    {
				String s = port.getValue().toString();
				if( Integer.parseInt(s)<0 )
				    port.setValue(1);
			    }
			}
		    });
		port.setHorizontalAlignment(JTextField.RIGHT);
		c.gridx=1; c.gridy=1;
		//c.gridwidth = GridBagConstraints.REMAINDER;
		c.gridheight=1;
		add(port, c);
 
 
 
		*/
 
        JScrollPane scrollPane = new JScrollPane();
 
        //init la tree
        TreeSystem treeSystem = new TreeSystem(new File("C:\\"), true);
        //ajoute des listener utile
        //treeSystem.addTreeSelectionListener(new TreeSystemController.OnSelect(treeSystem));
        //treeSystem.addMouseListener(new TreeSystemController.OnValidate(treeSystem));
 
        //ajoute le menu click doit
        TreeSystemMenu treeSystemMenu = new TreeSystemMenu(treeSystem);
        treeSystem.addMenu(treeSystemMenu);
 
        scrollPane.setViewportView(treeSystem);
 
		c.gridx=0;
		c.gridy=3;
		c.gridwidth=3; c.gridheight=1;
		add(scrollPane, c);
	}
 
    /**
     * Ajouter une action sur le boutton de parcours
     * @param l
     */
    public void addActionParcours(ActionListener l)
    {
	benvoi.addActionListener(l);
    }
 
}

Mon souci c'est que normalement mes deux panels doivent faire "miroirs". Dans mon code source, mon bouton envoyer du coté droit se met bien à droite mais sur mon panel gauche, il n’apparaît même pas !!

Je ne comprends pas d'où vient mon problème !!

Merci pour votre aide.