je débute en swing alors forcément je suis empêtré dans les layout managers.
Je voudrais faire une grille tout à fait classique à 2 colonnes mais avec
des colonnes de largeur différentes.
+-------------+--------------------------------------+
| label_long | text field |
| ------------+--------------------------------------|
| label | text field |
+-------------+--------------------------------------+
J'ai essayé d'utiliser un GridLayout mais visiblement on ne peut pas faire
en sorte que les colonnes ait une largeur différente.
Comment faut-il que je m'y prenne ?
Avez vous un exemple de code ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Braim
Bonjour ,
je débute en swing alors forcément je suis empêtré dans les layout managers. Je voudrais faire une grille tout à fait classique à 2 colonnes mais avec des colonnes de largeur différentes.
+-------------+--------------------------------------+ | label_long | text field | | ------------+--------------------------------------| | label | text field | +-------------+--------------------------------------+
J'ai essayé d'utiliser un GridLayout mais visiblement on ne peut pas faire en sorte que les colonnes ait une largeur différente.
Comment faut-il que je m'y prenne ? Avez vous un exemple de code ?
Soit tu utilises un SpringLayout soit un GridBagLayout.
-- _________________ Braim http://www.braim.be
Bonjour ,
je débute en swing alors forcément je suis empêtré dans les layout managers.
Je voudrais faire une grille tout à fait classique à 2 colonnes mais avec
des colonnes de largeur différentes.
+-------------+--------------------------------------+
| label_long | text field |
| ------------+--------------------------------------|
| label | text field |
+-------------+--------------------------------------+
J'ai essayé d'utiliser un GridLayout mais visiblement on ne peut pas faire
en sorte que les colonnes ait une largeur différente.
Comment faut-il que je m'y prenne ?
Avez vous un exemple de code ?
Soit tu utilises un SpringLayout soit un GridBagLayout.
je débute en swing alors forcément je suis empêtré dans les layout managers. Je voudrais faire une grille tout à fait classique à 2 colonnes mais avec des colonnes de largeur différentes.
+-------------+--------------------------------------+ | label_long | text field | | ------------+--------------------------------------| | label | text field | +-------------+--------------------------------------+
J'ai essayé d'utiliser un GridLayout mais visiblement on ne peut pas faire en sorte que les colonnes ait une largeur différente.
Comment faut-il que je m'y prenne ? Avez vous un exemple de code ?
Soit tu utilises un SpringLayout soit un GridBagLayout.
-- _________________ Braim http://www.braim.be
Jocelyn
Salut, Je ne connais pas le SpringLayout (qui a ete ajoute en 1.4), mais bien le GridBagLayout :). Typiquement si tu utilises ce dernier, tu obtiendras le resultat en jouant sur les poids des colonnes. Par exemple, si tu donnes un poids de 0 aux cellules de la premiere colonne et un poids de 1 aux cellules de la 2eme, tes 2 labels seront colles a gauche et meme si tu agrandis ta fenetre, ils ne bougeront pas, seule la 2eme colonne s'elargira. Si tu veux en savoir plus, je te conseille http://java.sun.com/docs/books/tutorial/uiswing/layout/index.html qui est court et suffisamment explicite.
Bonjour ,
je débute en swing alors forcément je suis empêtré dans les layout managers. Je voudrais faire une grille tout à fait classique à 2 colonnes mais avec des colonnes de largeur différentes.
+-------------+--------------------------------------+ | label_long | text field | | ------------+--------------------------------------| | label | text field | +-------------+--------------------------------------+ J'ai essayé d'utiliser un GridLayout mais visiblement on ne peut pas faire en sorte que les colonnes ait une largeur différente.
Comment faut-il que je m'y prenne ? Avez vous un exemple de code ?
Soit tu utilises un SpringLayout soit un GridBagLayout.
Salut,
Je ne connais pas le SpringLayout (qui a ete ajoute en 1.4), mais bien
le GridBagLayout :).
Typiquement si tu utilises ce dernier, tu obtiendras le resultat en
jouant sur les poids des colonnes. Par exemple, si tu donnes un poids de
0 aux cellules de la premiere colonne et un poids de 1 aux cellules de
la 2eme, tes 2 labels seront colles a gauche et meme si tu agrandis ta
fenetre, ils ne bougeront pas, seule la 2eme colonne s'elargira.
Si tu veux en savoir plus, je te conseille
http://java.sun.com/docs/books/tutorial/uiswing/layout/index.html
qui est court et suffisamment explicite.
Bonjour ,
je débute en swing alors forcément je suis empêtré dans les layout
managers.
Je voudrais faire une grille tout à fait classique à 2 colonnes mais avec
des colonnes de largeur différentes.
+-------------+--------------------------------------+
| label_long | text field |
| ------------+--------------------------------------|
| label | text field |
+-------------+--------------------------------------+
J'ai essayé d'utiliser un GridLayout mais visiblement on ne peut pas
faire
en sorte que les colonnes ait une largeur différente.
Comment faut-il que je m'y prenne ?
Avez vous un exemple de code ?
Soit tu utilises un SpringLayout soit un GridBagLayout.
Salut, Je ne connais pas le SpringLayout (qui a ete ajoute en 1.4), mais bien le GridBagLayout :). Typiquement si tu utilises ce dernier, tu obtiendras le resultat en jouant sur les poids des colonnes. Par exemple, si tu donnes un poids de 0 aux cellules de la premiere colonne et un poids de 1 aux cellules de la 2eme, tes 2 labels seront colles a gauche et meme si tu agrandis ta fenetre, ils ne bougeront pas, seule la 2eme colonne s'elargira. Si tu veux en savoir plus, je te conseille http://java.sun.com/docs/books/tutorial/uiswing/layout/index.html qui est court et suffisamment explicite.
Bonjour ,
je débute en swing alors forcément je suis empêtré dans les layout managers. Je voudrais faire une grille tout à fait classique à 2 colonnes mais avec des colonnes de largeur différentes.
+-------------+--------------------------------------+ | label_long | text field | | ------------+--------------------------------------| | label | text field | +-------------+--------------------------------------+ J'ai essayé d'utiliser un GridLayout mais visiblement on ne peut pas faire en sorte que les colonnes ait une largeur différente.
Comment faut-il que je m'y prenne ? Avez vous un exemple de code ?
Soit tu utilises un SpringLayout soit un GridBagLayout.
James Kanze
Rémi Cocula wrote:
je débute en swing alors forcément je suis empêtré dans les layout managers. Je voudrais faire une grille tout à fait classique à 2 colonnes mais avec des colonnes de largeur différentes.
+-------------+--------------------------------------+ | label_long | text field | | ------------+--------------------------------------| | label | text field | +-------------+--------------------------------------+
J'ai essayé d'utiliser un GridLayout mais visiblement on ne peut pas faire en sorte que les colonnes ait une largeur différente.
Qu'est-ce qui détermine les deux largeurs ? La plupart du temps, je m'en sors avec deux GridLayout dans un BorderLayout. Quelque chose du genre (dans le composant) :
! setLayout( new BorderLayout ) ; ! JPanel labels = new JPanel() ; ! labels.setLayout( new GridLayout( 0, 1 ) ) ; ! JPanel text = new JPanel() ; ! text.setLayout( new GridLayout( 0, 1 ) ) ; ! labels.add( new JLabel( "label_long" ) ) ; ! text.add( new JTextField( "text field" ) ) ; ! labels.add( new JLabel( "label" ) ) ; ! text.add( new JTextField( "text field" ) ) ; ! // ... ! add( labels, BorderLayout.WEST ) ; ! add( text, BorderLayout.CENTER ) ;
En général, dans un BorderLayout, WEST, CENTER et EAST auront la même hauteur. Les GridLayout s'occupent des hauteurs des éléments ; dans la mésure où les panel avec les GridLayout ont la même hauteur et le même nombre d'éléments, chaque élément aurait la même hauteur. Les panels dans WEST et/ou EAST auront la largueur nécessaire, et la panel dans CENTER en aura la reste ; c'est lui qui variera lorsqu'on change la largeur.
-- James Kanze home: www.gabi-soft.fr Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 pl. Pierre Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
Rémi Cocula wrote:
je débute en swing alors forcément je suis empêtré dans les
layout managers. Je voudrais faire une grille tout à fait
classique à 2 colonnes mais avec des colonnes de largeur
différentes.
+-------------+--------------------------------------+
| label_long | text field |
| ------------+--------------------------------------|
| label | text field |
+-------------+--------------------------------------+
J'ai essayé d'utiliser un GridLayout mais visiblement on ne
peut pas faire en sorte que les colonnes ait une largeur
différente.
Qu'est-ce qui détermine les deux largeurs ? La plupart du temps,
je m'en sors avec deux GridLayout dans un BorderLayout. Quelque
chose du genre (dans le composant) :
! setLayout( new BorderLayout ) ;
! JPanel labels = new JPanel() ;
! labels.setLayout( new GridLayout( 0, 1 ) ) ;
! JPanel text = new JPanel() ;
! text.setLayout( new GridLayout( 0, 1 ) ) ;
! labels.add( new JLabel( "label_long" ) ) ;
! text.add( new JTextField( "text field" ) ) ;
! labels.add( new JLabel( "label" ) ) ;
! text.add( new JTextField( "text field" ) ) ;
! // ...
! add( labels, BorderLayout.WEST ) ;
! add( text, BorderLayout.CENTER ) ;
En général, dans un BorderLayout, WEST, CENTER et EAST auront la
même hauteur. Les GridLayout s'occupent des hauteurs des
éléments ; dans la mésure où les panel avec les GridLayout ont
la même hauteur et le même nombre d'éléments, chaque élément
aurait la même hauteur. Les panels dans WEST et/ou EAST auront
la largueur nécessaire, et la panel dans CENTER en aura la
reste ; c'est lui qui variera lorsqu'on change la largeur.
--
James Kanze home: www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 pl. Pierre Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
je débute en swing alors forcément je suis empêtré dans les layout managers. Je voudrais faire une grille tout à fait classique à 2 colonnes mais avec des colonnes de largeur différentes.
+-------------+--------------------------------------+ | label_long | text field | | ------------+--------------------------------------| | label | text field | +-------------+--------------------------------------+
J'ai essayé d'utiliser un GridLayout mais visiblement on ne peut pas faire en sorte que les colonnes ait une largeur différente.
Qu'est-ce qui détermine les deux largeurs ? La plupart du temps, je m'en sors avec deux GridLayout dans un BorderLayout. Quelque chose du genre (dans le composant) :
! setLayout( new BorderLayout ) ; ! JPanel labels = new JPanel() ; ! labels.setLayout( new GridLayout( 0, 1 ) ) ; ! JPanel text = new JPanel() ; ! text.setLayout( new GridLayout( 0, 1 ) ) ; ! labels.add( new JLabel( "label_long" ) ) ; ! text.add( new JTextField( "text field" ) ) ; ! labels.add( new JLabel( "label" ) ) ; ! text.add( new JTextField( "text field" ) ) ; ! // ... ! add( labels, BorderLayout.WEST ) ; ! add( text, BorderLayout.CENTER ) ;
En général, dans un BorderLayout, WEST, CENTER et EAST auront la même hauteur. Les GridLayout s'occupent des hauteurs des éléments ; dans la mésure où les panel avec les GridLayout ont la même hauteur et le même nombre d'éléments, chaque élément aurait la même hauteur. Les panels dans WEST et/ou EAST auront la largueur nécessaire, et la panel dans CENTER en aura la reste ; c'est lui qui variera lorsqu'on change la largeur.
-- James Kanze home: www.gabi-soft.fr Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 pl. Pierre Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34