Saut de ligne dans un LAYOUT -> Probleme !

Saut de ligne dans un LAYOUT -> Probleme ! - Java - Programmation

Marsh Posté le 13-10-2002 à 18:51:22    

Je viens de prendre la tête toute l'apres midi pour comprendre comment fonctione les GridBagLayout, et apres avoir réussit a pondre l'interface que je désire il me reste un probleme :
 
Je voudrais un espacement VERTICAL entre les composants que j'ai dans ma fenetre
 
je vous colle le code qu'il vous suffira de compiler pour comprendre mon désaroi lol :
 
 

Code :
  1. import java.awt.event.*;
  2. import java.awt.*;
  3. import javax.swing.*;
  4. import java.awt.Graphics.*;
  5. public class Bag extends Frame
  6. {
  7.  public Bag()
  8.  {
  9.  //installer le gestionnaire
  10.  GridBagLayout g=new GridBagLayout();
  11.  setLayout(g);
  12.  setBackground(Color.lightGray);
  13.  //créer un objet de type GridBagConstraints
  14.  GridBagConstraints c=new GridBagConstraints();
  15.  //on utilise tout l'espace d'une cellule
  16.  c.fill=GridBagConstraints.BOTH;
  17.  Label lnom=new Label("Nom : " );
  18.  add(lnom);
  19.  g.setConstraints(lnom,c);
  20.  c.gridwidth=2; // sur 2 colonnes
  21.  c.gridwidth=GridBagConstraints.REMAINDER; // on termine la ligne avec le TextField
  22.  TextField nom = new TextField();
  23.  add(nom);
  24.  g.setConstraints(nom, c);
  25.  //réinitialisation
  26.  c.gridwidth=1;
  27.  Label lprenom = new Label("Prénom :" );
  28.  add(lprenom);
  29.  g.setConstraints(lprenom,c);
  30.  c.gridwidth=GridBagConstraints.REMAINDER; // on termine la ligne avec le TextField
  31.  TextField prenom = new TextField();
  32.  add(prenom);
  33.  g.setConstraints(prenom, c);
  34.  //réinitialisation
  35.  c.gridwidth=1;
  36.  Label ladresse = new Label("Adresse :" );
  37.  add(ladresse);
  38.  g.setConstraints(ladresse,c);
  39.  c.gridwidth=GridBagConstraints.REMAINDER; // on termine la ligne avec le TextField
  40.  TextArea adresse = new TextArea("",3,50,TextArea.SCROLLBARS_NONE);
  41.  add(adresse);
  42.  g.setConstraints(adresse, c);
  43.  //réinitialisation
  44.  c.gridwidth=1;
  45.  c.gridheight=1;
  46.  Label ltelephone = new Label("Téléphone :" );
  47.  add(ltelephone);
  48.  g.setConstraints(ltelephone,c);
  49.  c.gridwidth=GridBagConstraints.REMAINDER; // on termine la ligne avec le TextField
  50.  TextField telephone = new TextField();
  51.  add(telephone);
  52.  g.setConstraints(telephone, c);
  53.  //réinitialisation
  54.  c.gridwidth=1;
  55.  Label lemail = new Label("Email :" );
  56.  add(lemail);
  57.  g.setConstraints(lemail,c);
  58.  c.gridwidth=GridBagConstraints.REMAINDER; // on termine la ligne avec le TextField
  59.  TextField mail = new TextField();
  60.  add(mail);
  61.  g.setConstraints(mail, c);
  62.  //réinitialisation
  63.  c.gridwidth=1;
  64.  Label lphoto = new Label("Photo :" );
  65.  add(lphoto);
  66.  g.setConstraints(lphoto,c);
  67.  TextField photo = new TextField(30);
  68.  add(photo);
  69.  g.setConstraints(photo, c);
  70.  c.gridwidth=GridBagConstraints.REMAINDER; // on termine la ligne avec le Bouton
  71.  Button bphoto = new Button("Parcourir..." );
  72.  add(bphoto);
  73.  g.setConstraints(bphoto, c);
  74.  c.gridwidth=1;
  75.  Button ok = new Button("OK" );
  76.  add(ok);
  77.  g.setConstraints(ok,c);
  78.  pack();
  79.  setVisible(true);
  80. }
  81. public static void main(String args[])
  82. {
  83.  Bag b = new Bag();
  84.  b.show();
  85. }
  86. }


 
 
jespere que quelqu'un saura repondre a ma question  
merci davance

Reply

Marsh Posté le 13-10-2002 à 18:51:22   

Reply

Marsh Posté le 13-10-2002 à 23:03:00    

Heu .. yoré pas moyen d'épurer un peu ton code, où de dire explicitement la partie qui pose pb, paske là, la première qui me vient à l'esprit c'est [Ctrl]+[V] (cad fermer le topic affiché) ...
désolé, mais je peux pas moi ...

Reply

Marsh Posté le 13-10-2002 à 23:17:14    

en fait la partie qui me pose probleme n'est pas localisable, le probleme est le suivant :
 
 
Je voudrais qu'avant chaque //reinitialisation j'insere un espace visible entre mes composants
 
Ce code modélise un gridBagLayout de 7 lignes cependant elle se touchent toute et j'aimerais mettre un espace entres elles
 
jespere que tu comprend ce que je veut dire
 
merci davance mister bobuse

Reply

Marsh Posté le 15-10-2002 à 09:09:46    

pour mettre de l'espace entre tes composants, utilise les champs insets de ton GridBagConstraints ... il me semble avoir déjà posté ça hier ... :/
 
Normalement, dans n'importe quel bouquin de Java digne de ce nom, c'est tout expliqué ... enfin moi, je m'en était sorti !
 
Si j'ai le temps je te pondrai un exemple, mais c'est pas dis ... t'as pas une BU à côté de chez toi ?

Reply

Marsh Posté le 15-10-2002 à 20:00:56    

ouaip c bien insets désolé de pas avoir posté plus tot  
 
ca fonctionne comme je veut merci mister !

Reply

Marsh Posté le 16-10-2002 à 10:21:36    

bon ben ça tombe bien, paske joré psa le temps de pondre un quelconque truc ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed