je galere avec GridBagLayout

je galere avec GridBagLayout - Java - Programmation

Marsh Posté le 03-07-2003 à 21:16:34    

bonsoir a tous;
voila mon probleme ; j aimerait faire quelque chose ressemblant a ca :
 
 http://jchatirc.free.fr/grid.png  
 
alors j'ai plus ou moins arrangé ce que j ai vu sur le site de sun:
 

Code :
  1. import javax.swing.*;
  2. import javax.swing.event.*;
  3. import java.io.*;
  4. import java.awt.*;
  5. import java.text.*;
  6. import java.awt.event.*;
  7. import java.util.*;
  8. public class Grid extends JPanel
  9. {
  10. public Grid()
  11. {
  12.  GridBagLayout gridbag = new GridBagLayout();
  13.  GridBagConstraints c = new GridBagConstraints();
  14.  setLayout(gridbag);
  15.  c.fill = GridBagConstraints.BOTH;
  16.  c.gridwidth = 1;        //reset to the default
  17.  c.gridheight= 2;
  18.  c.weighty = 1.0;
  19.  c.weightx = 1.0;
  20.  JButton button = new JButton("ici y'a une JList" );
  21.  gridbag.setConstraints(button, c);
  22.  add(button);
  23.  JButton addButton = new JButton("add" );
  24.         JButton supButton = new JButton("remove" );
  25.        
  26.  c.weighty = 1.0;     //reset to the default
  27.  c.gridwidth = GridBagConstraints.REMAINDER; //end row
  28.  c.gridheight = 1;     //reset to the default
  29.  gridbag.setConstraints(supButton, c);
  30.  add(supButton);   
  31.   
  32.  gridbag.setConstraints(addButton, c);
  33.  add(addButton);
  34.   
  35. }
  36.  public static void main(String args[]) {
  37.     JFrame f = new JFrame("GridBag Layout Example" );
  38.  f.getContentPane().add(new Grid(),"Center" );
  39.  f.pack();
  40.  f.setSize(f.getPreferredSize());
  41.  f.setVisible(true);;   
  42.      }
  43. }

 
 
ca donne plus ou moins ce qu'il faut , le prob c'est que les boutons grandissent lorsque j'agrandis la frame :/
j'aimerait qu'il garde une taille fixe vous savez comment faire?
 
 
merci

Reply

Marsh Posté le 03-07-2003 à 21:16:34   

Reply

Marsh Posté le 03-07-2003 à 21:18:25    

A et B seront des JButton avec un petit Gif (pas de texte donc)
c'est pour cela que je veux qu'il gardent une petite taille


Message édité par veryfree le 03-07-2003 à 21:18:38
Reply

Marsh Posté le 03-07-2003 à 21:34:51    

Ben c'est pas le role du GridBag d'agrandir tes boutons sur un resize ?

Reply

Marsh Posté le 03-07-2003 à 21:44:36    

Clie a écrit :

Ben c'est pas le role du GridBag d'agrandir tes boutons sur un resize ?
 


 
ben qd t'utilise BorderLayout par ex c'est lui qui gere ca ; par contre avec FlowLayout non ...
 
en fait j'ai pas l'habitude de l'utiliser telement c'est compliqué a mettre en place...

Reply

Marsh Posté le 03-07-2003 à 21:48:10    

Ben a priori je crois que le GridBag redimensionne.
Si tu ne veux pas que les bouton soit redimensionné tu peux peut-être les mettre dans un panel pour lesquel tu ne mets pas de layout et tu les gere a la mano

Reply

Marsh Posté le 03-07-2003 à 21:54:53    

je crois que c'est ce que je vai finir par faire si je n'y arrive pas sans :/

Reply

Marsh Posté le 03-07-2003 à 22:35:07    

moi je ferais un gridlayout pour A et B.
je les mettrais dans le NORTH d'un BorderLayout. dans le CENTER je mettrais un label vide.
Et ce border, je le metrrais dans le EAST d'un autre Border dont la JList serait dans le CENTER.
 
Les Border c'est bon [:benou_miam]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-07-2003 à 22:42:15    

c'est exactement ce que j'ai fait [:dawa]
j'ai juste mis le gridLayout de A et B a l'EAST  
 
 
 :hello:

Reply

Marsh Posté le 03-07-2003 à 22:52:11    

veryfree a écrit :

c'est exactement ce que j'ai fait [:dawa]
j'ai juste mis le gridLayout de A et B a l'EAST


[:dawa]
 
par contre, si tu l'as mit à l'EAST, il va s'agrandir vers le bas => tes boutons aussi, nan ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-07-2003 à 22:56:08    

en fin de compte c'est pas plus mal qd les boutons s'agrandissent:
 
http://jchatirc.free.fr/grid2.png  
 
reste plus qu'a trouver de plus beaux gif maintenant [:dawa]


Message édité par veryfree le 03-07-2003 à 22:59:55
Reply

Marsh Posté le 03-07-2003 à 22:56:08   

Reply

Marsh Posté le 03-07-2003 à 23:00:16    

veryfree a écrit :


edit: les balises img sux :o  


c'est toi qui sux :o
 
ton image elle fait un 404 :o


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-07-2003 à 23:00:38    

t'as edited tout juste ! :o


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-07-2003 à 23:01:34    

benou a écrit :

t'as edited tout juste ! :o


 
j avait ecrit grig a la place de grid :o

Reply

Marsh Posté le 03-07-2003 à 23:03:40    

veryfree a écrit :


j avait ecrit grig a la place de grid :o


 
http://perso.wanadoo.fr/vieuxbenou/redface_special_harko.gif


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 03-07-2003 à 23:06:48    

tout est plus clair maintenant  [:ddr555]

Reply

Marsh Posté le 05-07-2003 à 19:00:27    

Alors ca fait longtemps que j'ai pas fais ca mais je crois que c'est le role du weight : si tu donnes un weight plus important à ta JList, c'est elle qui sera resizée et pas les boutons, non ?
De toute façon en général mes frames sont pas resizeables :D

Reply

Marsh Posté le 05-07-2003 à 19:20:07    

R3g a écrit :

Alors ca fait longtemps que j'ai pas fais ca mais je crois que c'est le role du weight : si tu donnes un weight plus important à ta JList, c'est elle qui sera resizée et pas les boutons, non ?
De toute façon en général mes frames sont pas resizeables :D


 
en fait j ai crée deux Jlabel invisible et le resultat est top :sol: et sans gridbaglayout
 
 http://jchatirc.free.fr/connect.png

Reply

Sujets relatifs:

Leave a Replay

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