IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

interface graphique swing


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut interface graphique swing
    Je vais vous décrire ma fenêtre que je désire faire :
    nom de la fenêtre : Portail des anciens étudiants
    avec 6 onglets en haut de l'écran : Gestion des options, Gestion des étudiants, Gestion des compétences, Statistiques, Envoi de mail, Validation
    Dans l'onglet gestion des options :
    en haut un panel avk le nom édition d'option.
    Dans ce panel un champ texte et à sa droite un bouton ajouter
    en sessous de ce panel un panel Liste des options.
    Dans celui ci un tablo avec 2 colonnes code etlibelle option
    en dessous de ce tablo un bouton supprimer option sélectionné

    Pour l'instant j'ai fait ceci :
    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
     
    import java.awt.*;
    //utilisation de la bibliothèque graphique
    import javax.swing.*;
    //utilisation de la bibliothèque graphique
    import javax.swing.event.*;
    //utilisation de la programmation événementielle
     
    //class Etiquette
    class Etiquette extends JLabel
    {
    	public Etiquette(String titre, Container c)
    	{
    		super(titre);
    		c.add(this);
    	}
    }//Etiquette
     
    //classe Entrée
    class Entree extends JTextField
    {
    	public Entree(String message, Container c)
    	{
    		super(message,10);
    		c.add(this);
    	}
    	/*public String contenu()
    	{ 
    		return this.getText(); 
    	}*/
    }//Entree
     
    //classe Sortie
    class Sortie extends JTextField
    {
    	public Sortie(String message, Container c)
    	{
    		super(message,15);
    		setEditable(false);
    		c.add(this);
    	}
    	/*public void afficher(String texte)
    	{ 
    		this.setText(texte); 
    	}*/
    }//Sortie
     
    //classe Bouton
    class Bouton extends JButton
    {
    	public Bouton(String libelle, Container c)
    	{
    		super(libelle);
    		setBackground(Color.gray);
    		c.add(this);
    	}
    }//Bouton
     
    //classe Panneau
    class Panneau extends JPanel
    {
    	Etiquette etiquetteResultat;
    	Sortie resultat;
    	Bouton bouton;
    	public Panneau()
    	{
    		setLayout(new FlowLayout());
    		setBackground(Color.blue);
    		etiquetteResultat = new Etiquette("résultat",this);
    		resultat = new Sortie("résultat de l'opération",this);
    	}
    }
     
    class Onglet extends JTabbedPane{
    	public Onglet()
    	{
    		super();
    	}
    	public void ajouteOnglet(String nom, JPanel p)
    	{
    		JLabel titreOnglet = new JLabel(nom);
    	    p.add(titreOnglet);
    	    this.addTab(nom, p);
    	}
    }
     
     
    class MonCadre extends JFrame{
    	Onglet lesOnglets;
    	JPanel pannel = new JPanel();
    	//fonction place()
    	private void place()//gère le positionnement et le dimensionnement du cadre
    	{
    		Toolkit tk = Toolkit.getDefaultToolkit();
    		Dimension d = tk.getScreenSize();//dimension de l'écran
    		int he, le;//hauteur et largeur de l'écran
    		int hf, lf;//hauteur et largeur de la fenêtre
    		int Ox, Oy;//coordonnées du coin haut gauche de la fenêtre
    		he = (int)(d.getHeight());//recupère la hauteur de l'écran
    		le = (int)(d.getWidth());//récupère la largeur de l'écran
    		hf = he; lf = le;//la fenêtre prend 1/4 de l'écran
    		Ox = 0; Oy = 0;//placée à 1/4 du coin haut gauche
    		setLocation (Ox,Oy);//coordonnées du cadre en pixels
    		setSize(lf,hf);//dimensions du cadre en pixels
    	}
    	private  void buildConstraints(GridBagConstraints gbc, int gx, int gy, int gw, int gh, int wx, int wy){
            gbc.gridx = gx;
            gbc.gridy = gy;
            gbc.gridwidth = gw;
            gbc.gridheight = gh;
            gbc.weightx = wx;
            gbc.weighty = wy;           
        }
    	//Constructeur Mon1Cadre
     	public MonCadre (String titre)
    	{
     		super(titre);
    		place();
    		setLayout(new FlowLayout());
    		//setBackground(Color.green);//change la couleur du fond
    		JPanel panneau_princ = new JPanel();
     
     
    		lesOnglets = new Onglet();
     
    		JPanel p_option = new JPanel() ;
    		JPanel onglet1 = new JPanel();
    		onglet1.add(p_option);
     
    	    lesOnglets.ajouteOnglet("Onglet 1", onglet1);
     
    		this.add(lesOnglets);
    		//this.add(panneau_princ); 
    	}	
    }//MonCadre
     
    public class Projet {
     	public static void main (String [] arg)
    	{
    	MonCadre m;
    	m = new MonCadre("Portail des anciens élèves");//création du cadre
    	m.show();//le cadre est rendu visible
    	}//main
    }
    je voudrais savoir comment faire pour que mes onglets prenne toute la fenêtre et pas une seule partie. Et je voudrais savoir pourquoi end écommentant ma ligne //setBackground(Color.green); la couleur devien verte une seconde puis l'écran redevient gris...
    Et je voudrais savoir si après dans mon onglet je peut rajouter diverses panel et s'il faut que sur un panel ou je soushaite rajouter des composants, il faut que je redécrlare un FlowLayout?

    Merci de votre aide

  2. #2
    Membre chevronné Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Par défaut GridBagLayout
    Salut!
    Essentiellement les layouts sont très flexibles. Du coup tu peux facilement en changer de modèle si tu sais bien gérer la variable de layout.
    A mon expérience, je dirais que pour avoir un design potable sur une fenetre simple le GridBagLayout est le plus évolué tandis que le FlowLayout serait le moins "beau". Un bon milieu serait le BorderLayout en cascade, et l'idéal donc serait le GridBagLayout accompagné de contraintes "Constraints" pour définir la disposition des composants.

    un exemple simple, une fenetre avec 2 Texts et 2 Buttons:
    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
     public class Saisie {
     
    public static void main(String[] args) { 
    LayoutManager layout=null;
    if(args.length > 0) { 
    switch(args[0]) {
        case "BORDER":
               layout = new BorderLayout();
                break;
        case "GRIDBAG":
               layout = new GridBagLayout();
               break;
        default: layout = null;
    }}
    panel.setLayout(layout);
    GridBagConstraints c = new GridBagConstrains();
     
    JPanel panel = new JPanel("Entrez vos nom et pérnom puis cliquez sur OK", true); // double buffering pour améioler le rafraichissement lorsque tu redimensionne à la souris
    JTextField text1 = new JTextField("<NOM>");
    JTextField text2 = new JtextField("<PRENOM>");
    c.gridwidth = GridBagConstraints.REMAINDER; // ici avec le GBL tu engendres une nouvelle ligne de composants, par exemple :D
    c.fill = GridBagConstraints.BOTH; // Là tu paramètres le remplissage de l'espace, autre exemple
    // et là tu as la subtilité pour le GridBagLayout si c'est pas trop compliqué....
    if(layout instanceof GridBagLayout) layout.setGridBagConstraints(text2, c);
     
    JButton ok = new JButton("OK");
    JButton reset = new JButton("RàZ");
    // ajoute les composants, classique..
    panel.add(text1, BorderLayout.NORTH); panel.add(text2, BorderLayout.CENTER); panel.add(ok, BorderLayout.SOUTH); panel.add(reset, BorderLayout.WEST);
     
    // la fenetre, naturelle ;)
    JFrame saisie = new JFrame("Saisie");
    saisie.getContentPane().add(panel);
    saisie.pack(); saisie.setLocationRelativeTo(null);
    saisie.setVisible(true);
     
    }
    // VOILa

  3. #3
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Citation Envoyé par broumbroum
    Salut!
    Essentiellement les layouts sont très flexibles. Du coup tu peux facilement en changer de modèle si tu sais bien gérer la variable de layout.
    A mon expérience, je dirais que pour avoir un design potable sur une fenetre simple le GridBagLayout est le plus évolué tandis que le FlowLayout serait le moins "beau". Un bon milieu serait le BorderLayout en cascade, et l'idéal donc serait le GridBagLayout accompagné de contraintes "Constraints" pour définir la disposition des composants.

    un exemple simple, une fenetre avec 2 Texts et 2 Buttons:
    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
     public class Saisie {
     
    public static void main(String[] args) { 
    LayoutManager layout=null;
    if(args.length > 0) { 
    switch(args[0]) {
        case "BORDER":
               layout = new BorderLayout();
                break;
        case "GRIDBAG":
               layout = new GridBagLayout();
               break;
        default: layout = null;
    }}
    panel.setLayout(layout);
    GridBagConstraints c = new GridBagConstrains();
     
    JPanel panel = new JPanel("Entrez vos nom et pérnom puis cliquez sur OK", true); // double buffering pour améioler le rafraichissement lorsque tu redimensionne à la souris
    JTextField text1 = new JTextField("<NOM>");
    JTextField text2 = new JtextField("<PRENOM>");
    c.gridwidth = GridBagConstraints.REMAINDER; // ici avec le GBL tu engendres une nouvelle ligne de composants, par exemple :D
    c.fill = GridBagConstraints.BOTH; // Là tu paramètres le remplissage de l'espace, autre exemple
    // et là tu as la subtilité pour le GridBagLayout si c'est pas trop compliqué....
    if(layout instanceof GridBagLayout) layout.setGridBagConstraints(text2, c);
     
    JButton ok = new JButton("OK");
    JButton reset = new JButton("RàZ");
    // ajoute les composants, classique..
    panel.add(text1, BorderLayout.NORTH); panel.add(text2, BorderLayout.CENTER); panel.add(ok, BorderLayout.SOUTH); panel.add(reset, BorderLayout.WEST);
     
    // la fenetre, naturelle ;)
    JFrame saisie = new JFrame("Saisie");
    saisie.getContentPane().add(panel);
    saisie.pack(); saisie.setLocationRelativeTo(null);
    saisie.setVisible(true);
     
    }
    // VOILa
    ton code ne compile pas et pour cause ,l'instruction de controle switch ne prend que des types primitifs comme paramètre et donc pas de String .


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  4. #4
    Membre chevronné Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Par défaut
    Citation Envoyé par broumbroum
    un exemple simple, une fenetre avec 2 Texts et 2 Buttons:
    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
     public class Saisie {
     
    public static void main(String[] args) { 
    LayoutManager layout=null;
    if(args.length > 0) { 
     if(args[0].equals("BORDER")) // on passe plus de switch? ..0,o.. 
               layout = new BorderLayout();
     else if(args[0].equals("GRIDBAG"))
               layout = new GridBagLayout();
     else
        layout = null;
    } 
    panel.setLayout(layout);
    GridBagConstraints c = new GridBagConstrains();
     
    JPanel panel = new JPanel("Entrez vos nom et pérnom puis cliquez sur OK", true); // double buffering pour améioler le rafraichissement lorsque tu redimensionne à la souris
    JTextField text1 = new JTextField("<NOM>");
    JTextField text2 = new JtextField("<PRENOM>");
    c.gridwidth = GridBagConstraints.REMAINDER; // ici avec le GBL tu engendres une nouvelle ligne de composants, par exemple :D
    c.fill = GridBagConstraints.BOTH; // Là tu paramètres le remplissage de l'espace, autre exemple
    // et là tu as la subtilité pour le GridBagLayout si c'est pas trop compliqué....
    if(layout instanceof GridBagLayout) layout.setConstraints(text2, c);
     
    JButton ok = new JButton("OK");
    JButton reset = new JButton("RàZ");
    // ajoute les composants, classique..
    panel.add(text1, BorderLayout.NORTH); panel.add(text2, BorderLayout.CENTER); panel.add(ok, BorderLayout.SOUTH); panel.add(reset, BorderLayout.WEST);
     
    // la fenetre, naturelle ;)
    JFrame saisie = new JFrame("Saisie");
    saisie.getContentPane().add(panel);
    saisie.pack(); saisie.setLocationRelativeTo(null);
    saisie.setVisible(true);
     
    }
    // VOILa

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    cela ne me sert pas beaucoup
    j'ai essayer d'avancer, mais je n'arrive pas à dimentionner mes 2 pannel à la taille de la fenêtre...

    voici mon 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
    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
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
     
    import java.awt.*;
    //utilisation de la bibliothèque graphique
    import javax.swing.*;
    //utilisation de la bibliothèque graphique
    import javax.swing.event.*;
    //utilisation de la programmation événementielle
     
    //class Etiquette
    class Etiquette extends JLabel
    {
    	public Etiquette(String titre)
    	{
    		super(titre);
    	}
    	public Etiquette(String titre, Container c)
    	{
    		this(titre);
    		c.add(this);
    	}
    }//Etiquette
     
    //classe Entrée
    class Entree extends JTextField
    {
    	public Entree(String message)
    	{
    		super(message,15);
    	}
    	public Entree(String message, Container c)
    	{
    		this(message);
    		c.add(this);
    	}
    	/*public String contenu()
    	{ 
    		return this.getText(); 
    	}*/
    }//Entree
     
    //classe Sortie
    class Sortie extends JTextField
    {
    	public Sortie(String message)
    	{
    		super(message,15);
    		setEditable(false);
    	}
    	public Sortie(String message, Container c)
    	{
    		this(message);
    		c.add(this);
    	}
    	/*public void afficher(String texte)
    	{ 
    		this.setText(texte); 
    	}*/
    }//Sortie
     
    //classe Bouton
    class Bouton extends JButton
    {
    	public Bouton(String libelle)
    	{
    		super(libelle);
    		setBackground(Color.gray);
    	}
    	public Bouton(String libelle, Container c)
    	{
    		this(libelle);
    		c.add(this);
    	}
    }//Bouton
     
    class Onglet extends JTabbedPane{
    	public Onglet()
    	{
    		super();
    	}
    	public void ajouteOnglet(String nom, JPanel p)
    	{
    	    this.addTab(nom, p);
    	}
    }
     
    //classe Table
    class Table extends JTable
    {
    	public Table()
    	{
    		super();
    	}
    }//Bouton
     
    class Panneau extends JPanel
    {
    	public Panneau()
    	{
    		super();
    	}
    	public Panneau(String titre)
    	{
    		super();
    		this.setBorder(BorderFactory.createTitledBorder(titre));
    	}
    }
     
    //classe Panneau
    class PanneauOption extends JPanel
    {
    	//déclaration de tous les composants utiliser pour ce panneau
    	Etiquette etiquetteCodeOption = new Etiquette("Code : ");
    	Etiquette etiquetteLibOption = new Etiquette("Libellé :");
    	Entree entreeCodeOption =  new Entree("");
    	Entree entreeLibOption =  new Entree("");
    	Bouton ajouter = new Bouton("ajouter");
    	Bouton suppr;
    	Table t = new Table();
    	Panneau p_edit = new Panneau("Edition des options");
    	Panneau p_tab = new Panneau("Liste des options");
    	private  void buildConstraints(GridBagConstraints gbc, int gx, int gy, int gw, int gh, int wx, int wy){
            gbc.gridx = gx;
            gbc.gridy = gy;
            gbc.gridwidth = gw;
            gbc.gridheight = gh;
            gbc.weightx = wx;
            gbc.weighty = wy;           
        }
    	private Panneau PanneauEditOption()
    	{
    		p_edit.setLayout(new GridBagLayout());
    		GridBagConstraints c = new GridBagConstraints();
    		c.insets = new Insets(5, 5, 5, 5);
    		buildConstraints(c,0,0,1,2,0,0);
    		p_edit.add(etiquetteCodeOption, c);
    		buildConstraints(c,2,0,2,2,0,0);
    		p_edit.add(entreeCodeOption, c);
    		buildConstraints(c,0,3,1,2,0,0);
    		p_edit.add(etiquetteLibOption, c);
    		buildConstraints(c,2,3,2,2,0,0);
    		p_edit.add(entreeLibOption, c);
    		buildConstraints(c,5,1,2,2,0,0);
    		ajouter.setBackground(Color.GREEN);		
    		p_edit.add(ajouter, c);
    		return p_edit;
    	}
    	public Panneau PanneauTabOption()
    	{
    		p_tab.setBorder(BorderFactory.createTitledBorder("Liste des options"));
    		p_tab.add(t);
    		suppr = new Bouton("Supprimer option sélectionnée", p_tab);
    		suppr.setBackground(Color.RED);
    		return p_tab;
    	}
    	public PanneauOption()
    	{
    		this.setLayout(new GridBagLayout());
    		GridBagConstraints c = new GridBagConstraints();
    		buildConstraints(c,0,0,1,1,0,0);
    		c.insets = new Insets(5, 5, 5, 5);
    		Panneau p_edit = PanneauEditOption();
    		Panneau p_tab = PanneauTabOption();
    		this.add(p_edit,c);
    		buildConstraints(c,0,1,1,1,0,0);
    		this.add(p_tab,c);
    	}
    }
     
     
     
     
    class MonCadre extends JFrame{
    	Onglet lesOnglets;
    	JPanel pannel = new JPanel();
    	PanneauOption pOption;
    	//fonction place()
    	private void place()//gère le positionnement et le dimensionnement du cadre
    	{
    		Toolkit tk = Toolkit.getDefaultToolkit();
    		Dimension d = tk.getScreenSize();//dimension de l'écran
    		int he, le;//hauteur et largeur de l'écran
    		int hf, lf;//hauteur et largeur de la fenêtre
    		int Ox, Oy;//coordonnées du coin haut gauche de la fenêtre
    		he = (int)(d.getHeight());//recupère la hauteur de l'écran
    		le = (int)(d.getWidth());//récupère la largeur de l'écran
    		hf = he; lf = le;//la fenêtre prend 1/4 de l'écran
    		Ox = 0; Oy = 0;//placée à 1/4 du coin haut gauche
    		setLocation (Ox,Oy);//coordonnées du cadre en pixels
    		setSize(800,600);//dimensions du cadre en pixels
    	}
    	private  void buildConstraints(GridBagConstraints gbc, int gx, int gy, int gw, int gh, int wx, int wy){
            gbc.gridx = gx;
            gbc.gridy = gy;
            gbc.gridwidth = gw;
            gbc.gridheight = gh;
            gbc.weightx = wx;
            gbc.weighty = wy;           
        }
    	//Constructeur Mon1Cadre
     	public MonCadre (String titre)
    	{
     		super(titre);
    		place();
    		//setLayout(new FlowLayout());
    		//setBackground(Color.green);//change la couleur du fond
    		JPanel panneau_princ = new JPanel();
    		panneau_princ.setLayout( new BorderLayout() );
     
    		//création des panneaux
    		pOption = new PanneauOption();
     
    		lesOnglets = new Onglet();
     
    		JPanel p_option = new JPanel() ;
    		JPanel onglet1 = new JPanel();
    		onglet1.add(pOption);
     
    	    lesOnglets.ajouteOnglet("Gestion des options", onglet1);
     
    		panneau_princ.add(lesOnglets);
    		this.add(panneau_princ); 
    	}	
    }//MonCadre
     
    public class Projet {
     	public static void main (String [] arg)
    	{
    	MonCadre m;
    	m = new MonCadre("Portail des anciens élèves");//création du cadre
    	m.show();//le cadre est rendu visible
    	}//main
    }
    s'il vous plait aidez moi...

  6. #6
    Membre chevronné Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Par défaut
    Eh bien je crois que c'est la méthode buildConstraints que tu devrais adapter au modèle de construction du GridBagLayout et des contraintes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
         protected void makebutton(String name,
                                   GridBagLayout gridbag,
                                   GridBagConstraints c) {
             Button button = new Button(name);
             gridbag.setConstraints(button, c);
             add(button);
         }
    (extrait de la definition de la classe GridBagL. du JDK)

    Note bien la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gridbag.setConstraints(button, c);
    qui est essentielle pour appliquer les contraintes de positionnement GridBag.
    Après ça vérifie les contraintes. Il n'y a pas toujours besoin de définir toutes les valeurs de contraintes.

  7. #7
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    comme je l'ai les contraintes s'appliquent très bien aussi...

Discussions similaires

  1. integrer firefox dans une interface graphique swing
    Par fraisa1985 dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 21/06/2011, 12h15
  2. Message d'erreur interface graphique swing
    Par oclone dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 16/01/2008, 13h44
  3. Interface graphique, swing ?
    Par Palleas dans le forum Développement Mobile en Java
    Réponses: 3
    Dernier message: 10/10/2007, 14h35
  4. [Swing] Création d'une interface graphique SWING + MVC
    Par Sylmandel dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 21/04/2006, 09h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo