Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4783 connectés 

  FORUM HardWare.fr
  Programmation
  Java

   GridBagLayout() ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

GridBagLayout() ?

n°301373
Lunatik3
Serial nounours
Posté le 04-02-2003 à 21:29:20  profilanswer
 

Salut
est ce kelk'un peu m'expliker commnet ça marche se Layout la?
ou alors si il existe un layout plus facile d'utilisation et aussi performant.
merci

mood
Publicité
Posté le 04-02-2003 à 21:29:20  profilanswer
 

n°301468
gloop
Posté le 04-02-2003 à 22:38:52  profilanswer
 

LunatiK3 a écrit :

Salut
est ce kelk'un peu m'expliker commnet ça marche se Layout la?
ou alors si il existe un layout plus facile d'utilisation et aussi performant.
merci


en gros ce layout place les composants sur plusieurs lignes. tu associes pour chaque objet des contraintes (GridBagConstraints) pour définir la position, le poids en x, en y, ... (voir la classe GridBagConstraints). Au début, c'est assez chaud à utiliser, mais une fois que t'as capté, ca roule tout seul.
pour un autre layout, ca dépend de ce que tu veux faire (comment tu organises ce que tu veux mettre dedans)

n°301477
Lunatik3
Serial nounours
Posté le 04-02-2003 à 22:44:55  profilanswer
 

ok dc va falloir ke je plonge bien dedans, dc? qd faut y allez faut y allez. merci du renseignement. j'essayerai ça demain.

n°301481
--greg--
Posté le 04-02-2003 à 22:46:58  profilanswer
 

si tu connais l'html et ces chères <table> tu devrais t'en sortir facilement... étant un ancien habitué des <table> de l'html, j'ai vite compris que ça se manipulait de la meme maniere, avec gridbagconstraint.gridwidth et gridbagconstraint.gridheight qui sont les equivalent des colspan et rowspan ;)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°301490
gloop
Posté le 04-02-2003 à 22:52:05  profilanswer
 

pour ce layout, le mieux est de faire plein d'essais avec les différents paramètres sur les contraintes pour bien comprendre ce que chacun implique

n°301493
--greg--
Posté le 04-02-2003 à 22:53:18  profilanswer
 

gloop a écrit :

pour ce layout, le mieux est de faire plein d'essais avec les différents paramètres sur les contraintes pour bien comprendre ce que chacun implique

pour ce layout, vaut mieux lire la doc avant d'essayer n'importe quoi :o


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°301523
Lunatik3
Serial nounours
Posté le 04-02-2003 à 23:10:38  profilanswer
 

--greg-- a écrit :

pour ce layout, vaut mieux lire la doc avant d'essayer n'importe quoi :o


c ça le prob , la doc je la trouvait un peu obscure. dc c comme en html. bon je vais essayer.

n°301546
--greg--
Posté le 04-02-2003 à 23:25:54  profilanswer
 

LunatiK3 a écrit :


c ça le prob , la doc je la trouvait un peu obscure. dc c comme en html. bon je vais essayer.

je te l'accorde, elle est obscure à premiere vue, mais si tu captes que ça marche comme les colspan et rowspan et que tu maitrises ça, apres c relativement simple et la doc devient plus comprehensible :D


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°301565
Lunatik3
Serial nounours
Posté le 04-02-2003 à 23:37:17  profilanswer
 

ok je vai essayer ça.

n°301843
deltaden
Posté le 05-02-2003 à 01:20:47  profilanswer
 

et c'est vachement puissant, avec ca tu peux faire un tableur avec fusions et des trucs comme ca.


---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
mood
Publicité
Posté le 05-02-2003 à 01:20:47  profilanswer
 

n°301934
--greg--
Posté le 05-02-2003 à 01:48:50  profilanswer
 

deltaden a écrit :

et c'est vachement puissant, avec ca tu peux faire un tableur avec fusions et des trucs comme ca.

:heink:  
si tu fais un jour un tableur en utilisant un gridbaglayour pour mettre en place les cellules tu me le montreras? [:dawa]


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°301948
deltaden
Posté le 05-02-2003 à 02:58:36  profilanswer
 

--greg-- a écrit :

:heink:  
si tu fais un jour un tableur en utilisant un gridbaglayour pour mettre en place les cellules tu me le montreras? [:dawa]


c'est déjà fait:
 http://ece.fsa.ucl.ac.be/ddifilip/tableur.jpg  
 
ca marche très bien.
 
Voici la partie de code qui créé le conteneur des cellules:

Code :
  1. GridBagLayout gbl = new GridBagLayout();
  2. cellPanel.setLayout(gbl);
  3. GridBagConstraints gbc = new GridBagConstraints();
  4. gbc.fill = GridBagConstraints.BOTH;
  5. gbc.weightx = 1.0;
  6. for (int i=0; i <= gridSize.getHeight(); i++)
  7. {
  8. for (int j=0; j <= gridSize.getWidth(); j++)
  9. {
  10.   gbc.gridy=i;  gbc.gridx=j;
  11.   if (i == 0 || j == 0)
  12.   {
  13.    // c'est une bordure
  14.    BorderButton b = getBorderButton(i,j);
  15.    gbc.gridheight = 1;  gbc.gridwidth = 1;
  16.    gbl.setConstraints(b, gbc);
  17.    cellPanel.add(b);
  18.   }else
  19.   {
  20.    // c'est une cellule
  21.    Cell c = getCell(i,j);
  22.    // type empty si "en dessous" d'une cellule fusionnée (->pas affichée)
  23.    if (c.getType() != CellInterf.TYPE_EMPTY)
  24.    {
  25.     gbc.gridheight = c.getCellSize().x;
  26.     gbc.gridwidth = c.getCellSize().y;
  27.     gbl.setConstraints(c, gbc);
  28.     cellPanel.add(c);
  29.    }
  30.   }
  31. }

 
Ici, c'est un peu compliqué à cause de la distinction cellule-marge (je vais essayer de l'enlever mais ca pose d'autres problèmes). Sinon ce serait aussi simple que:

Code :
  1. GridBagLayout gbl = new GridBagLayout();
  2. cellPanel.setLayout(gbl);
  3. GridBagConstraints gbc = new GridBagConstraints();
  4. gbc.fill = GridBagConstraints.BOTH;
  5. gbc.weightx = 1.0;
  6. for (int i=0; i <= gridSize.getHeight(); i++)
  7. {
  8. for (int j=0; j <= gridSize.getWidth(); j++)
  9. {
  10.   gbc.gridy=i;  gbc.gridx=j;
  11.   Cell c = getCell(i,j);
  12.   if (c.getType() != CellInterf.TYPE_EMPTY)
  13.   {
  14.    gbc.gridheight = c.getCellSize().x;
  15.    gbc.gridwidth = c.getCellSize().y;
  16.    gbl.setConstraints(c, gbc);
  17.    cellPanel.add(c);
  18.   }
  19. }
  20. }


Message édité par deltaden le 05-02-2003 à 03:27:56

---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
n°302095
--greg--
Posté le 05-02-2003 à 11:23:24  profilanswer
 

:ouch:  
 
 
... tu sais qu'on peut faire ça avec jtable? :heink:
enfin je suis bluffé là; tu m'envoies le jar? :D


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°302232
deltaden
Posté le 05-02-2003 à 13:50:11  profilanswer
 

--greg-- a écrit :

:ouch:  
 
 
... tu sais qu'on peut faire ça avec jtable? :heink:
enfin je suis bluffé là; tu m'envoies le jar? :D
 


 
je sais, mais au départ, j'avais pas trouvé comment on peut faire des fusions de cellules et autres avec jtable.
Et puis j'avais besoin de bien controler la structure du tableau car il s'agit d'un applet qui import/export des <table> html et permet de les éditer à la manière WYSIWYG.
 
pour le jar, tu me paye combien ?  :D


Message édité par deltaden le 05-02-2003 à 13:52:11

---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
n°302241
deltaden
Posté le 05-02-2003 à 13:59:08  profilanswer
 

LunatiK3 a écrit :

Salut
est ce kelk'un peu m'expliker commnet ça marche se Layout la?
ou alors si il existe un layout plus facile d'utilisation et aussi performant.
merci


 
Si tu veux juste mettre deux boutons et une zone de texte, le gridbaglayout, c'est quand même un peu lourd. Il y en a d'autre plus léger et plus simple qui peuvent te convenir aussi bien si pas plus.


---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
n°302243
--greg--
Posté le 05-02-2003 à 14:00:18  profilanswer
 

deltaden a écrit :


 
je sais, mais au départ, j'avais pas trouvé comment on peut faire des fusions de cellules et autres avec jtable.
Et puis j'avais besoin de bien controler la structure du tableau car il s'agit d'un applet qui import/export des <table> html et permet de les éditer à la manière WYSIWYG.
 
pour le jar, tu me paye combien ?  :D

ben si c une applet, une url me conviendra aussi bien, j'aurais voulu voir ça tourner quoi paske bon :o


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°302471
deltaden
Posté le 05-02-2003 à 16:48:45  profilanswer
 

--greg-- a écrit :

ben si c une applet, une url me conviendra aussi bien, j'aurais voulu voir ça tourner quoi paske bon :o


va voir tes PM


---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
n°302623
Lunatik3
Serial nounours
Posté le 05-02-2003 à 20:10:18  profilanswer
 

deltaden a écrit :


 
Si tu veux juste mettre deux boutons et une zone de texte, le gridbaglayout, c'est quand même un peu lourd. Il y en a d'autre plus léger et plus simple qui peuvent te convenir aussi bien si pas plus.


 
c pour plus ke deux bouton et une zone de texte. c pour ça ke je voudrait voir comment ça marche. merci de voir explication. je vais essayer ça prochainement.

n°302628
noldor
Rockn'roll
Posté le 05-02-2003 à 20:19:46  profilanswer
 

le GridBagLayout, c'est très puissant, mais parfois ça merde un peu : les poids, j'ai jamais compris pourquoi parfois c'est pris en compte, et parfois pas.
Par ailleurs, j'ai déja eu des GridbagLayout qui se comportaient différemment d'après les plateformes


---------------
http://runnerstats.net
n°302691
--greg--
Posté le 05-02-2003 à 21:40:21  profilanswer
 

noldor a écrit :

le GridBagLayout, c'est très puissant, mais parfois ça merde un peu : les poids, j'ai jamais compris pourquoi parfois c'est pris en compte, et parfois pas.
Par ailleurs, j'ai déja eu des GridbagLayout qui se comportaient différemment d'après les plateformes

plateforme ou look'n'feel?


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°304510
noldor
Rockn'roll
Posté le 08-02-2003 à 15:00:37  profilanswer
 

--greg-- a écrit :

plateforme ou look'n'feel?

plateforme  
Genre ça s'affiche impec sous win et linux, ça merde sur un Mac


---------------
http://runnerstats.net
n°304512
--greg--
Posté le 08-02-2003 à 15:05:08  profilanswer
 

[:gratgrat]


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°304590
noldor
Rockn'roll
Posté le 08-02-2003 à 15:32:12  profilanswer
 

ben oui
les layouts se comportent souvent un peu différemment d'une plateforme à l'autre. Des problèmes qui n'existent pas sur la plateforme X apparaissent sur une plateforme Y ou Z


---------------
http://runnerstats.net
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

   GridBagLayout() ?

 

Sujets relatifs
GridBagLayout[SWING] Problème avec GridBagLayout
[JAVA] gridbaglayout, fenetres et resolution d'ecran 
Plus de sujets relatifs à : GridBagLayout() ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)