J'ai à concevoir un chat IRC en java, et je débute!

J'ai besoin d'aide pour concevoir l'interface du client qui est toute simple et qui me pose des soucis! je n'arrive pas à placer correctement les éléments...

Je vous copie le code :


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
class Client extends ClientApp
{
	TextField text,port,ip,pseudo;
	Button envoyer,rejoindre,quitter,connexion;
	List list;
	List liste_channel;
	List liste_users;
 
	Client(String titre)
	{
		super(); // appel du constructeur de la classe mère
		setTitle(titre);
 
		setSize(500,600);
		setLocation(300,0);	
		this.setLayout(new BorderLayout());
 
 
 
	/*mes panels*/	
		Panel zone_envoie=new Panel();
 
 
 
		Panel zone_channel=new Panel(new GridLayout(3,1));
		Label zone_ch_info=new Label("Liste des channels IRC");
 
 
 
		Panel zone_users=new Panel(new GridLayout(2,1));
		Label zone_us_info=new Label("Liste des connéctés");
 
		Panel zone_connect=new Panel(new GridBagLayout());
		Label zone_c_ip=new Label("Adresse ip:  ");
		Label zone_c_port=new Label("port:  ");
		Label zone_c_pseudo=new Label("pseudo:  ");
 
	/*mes boutons*/	
		envoyer = new Button("Envoyer");
		quitter = new Button("Quitter");
		rejoindre= new Button("Rejoindre");
		connexion=new Button("Connexion");
 
 
		list = new List();
		text = new TextField(70);
		liste_channel=new List();
		liste_users=new List();
		ip=new TextField("127.0.0.1");
		pseudo=new TextField("Yanneuh");
		port=new TextField("6000");
 
 
		envoyer.addActionListener(this);
		quitter.addActionListener(this);
		rejoindre.addActionListener(this);
		connexion.addActionListener(this);
 
 
		zone_envoie.add(text);
		zone_envoie.add(envoyer);
		zone_envoie.add(quitter);
		add(zone_envoie,"South");
 
		zone_connect.add(zone_c_ip);
		zone_connect.add(ip);
		zone_connect.add(zone_c_port);
		zone_connect.add(port);
		zone_connect.add(zone_c_pseudo);
		zone_connect.add(pseudo);
		zone_connect.add(connexion);
		add(zone_connect,"North");
 
		zone_channel.add(zone_ch_info);
		zone_channel.add(liste_channel);
		zone_channel.add(rejoindre);
		add(zone_channel,"West");
 
		zone_users.add(zone_us_info);
		zone_users.add(liste_users);
		add(zone_users,"East");
 
		add(list,"Center");
		//add(rejoindre,"West");
		//add(quitter,"East");		
		//add(text,"South");
		setVisible(true);

ICI: http://skystef.infoliens.com/net/capt.JPG vous avez le résultat : c'est moche.

Moi j'aimerais que les labels et le boutons rejoindre soit plus petits... comment faire?
Comment donner de la couleur à un panel? (fond).

Merci d'avance pour votre aide...