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

  FORUM HardWare.fr
  Programmation
  Java

  GridBagLayout Swing, tout déconne quand je resize la fenetre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

GridBagLayout Swing, tout déconne quand je resize la fenetre

n°318886
cedricbrun
Posté le 27-02-2003 à 08:36:13  profilanswer
 

Salut à tous  :hello:  
Désolé de vous imposer ce n-ième post sur le gridbag mais là j'ai pas trouvé de problème similaire déjà posé..
Bon, je crée une JinternalFrame, je lui colle un pannel et je fais mon gridbag tout comme il faut....Lorsque je lance l'application tout va bien, mais dès que je redimensionne la fenêtre le Gridbag trip et me met les boutons dans tous les sens (un peu comme si c'était un FlowLayout!)
Je comprends pas, y'aurais un truc que j'aurais oublié !?
J'avais fait pareil avec awt et ça marchais nickel!
merci d'avance

mood
Publicité
Posté le 27-02-2003 à 08:36:13  profilanswer
 

n°318895
gloop
Posté le 27-02-2003 à 08:57:18  profilanswer
 

si y avait un peu de code, ce serait plus simple pour t'aider

n°318909
cedricbrun
Posté le 27-02-2003 à 09:17:52  profilanswer
 

Voici le code de ma classe FenScèneQcm

Code :
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. public class FenScèneQcm extends JPanel
  5. {
  6. JLabel l1 = new JLabel("Possibilités" );
  7. JLabel l2 = new JLabel("Nombre de réponses à choisir" );
  8. JLabel l3 = new JLabel("Scène Suivante" );
  9. JTextField tf1 = new JTextField(5);
  10. JTextField tf2 = new JTextField(10);
  11. JList lis = new JList();
  12. JScrollPane sp = new JScrollPane(lis);
  13. JButton plus = new JButton("+" );
  14. JButton moins = new JButton("-" );
  15. JButton boutOK = new JButton("OK" );
  16. JButton boutAnnuler = new JButton("Annuler" );
  17. JPanel p1 = new JPanel();
  18. JPanel p2 = new JPanel();
  19. JPanel p3 = new JPanel();
  20. JPanel p = new JPanel();
  21. /** Action des boutons */
  22. void donnerContrainte(GridBagConstraints gbc, int gx, int gy, int gw, int gh, int wx, int wy,int constraint)
  23. {
  24.  gbc.gridx=gx;
  25.  gbc.gridy=gy;
  26.  gbc.gridwidth=gw;
  27.  gbc.gridheight=gh;
  28.  gbc.weightx=wx;
  29.  gbc.weighty=wy;
  30.  gbc.fill=constraint;
  31. }
  32. FenScèneQcm(JInternalFrame jj)
  33. {
  34.  super();
  35.  GridBagLayout gridbag = new GridBagLayout();
  36.  GridBagConstraints contrainte = new GridBagConstraints();
  37.  JPanel p = new JPanel();
  38.  p.setLayout(gridbag);
  39.  p1.setLayout(gridbag);
  40.  donnerContrainte(contrainte,0,0,1,1,30,10,GridBagConstraints.BOTH);
  41.  gridbag.setConstraints(l1,contrainte);
  42.  p1.add(l1);
  43.  donnerContrainte(contrainte,0,1,3,1,100,80,GridBagConstraints.BOTH);
  44.  gridbag.setConstraints(sp,contrainte);
  45.  p1.add(sp);
  46.  donnerContrainte(contrainte,1,2,1,1,10,10,GridBagConstraints.BOTH);
  47.  gridbag.setConstraints(plus,contrainte);
  48.  p1.add(plus);
  49.  donnerContrainte(contrainte,2,2,1,1,10,10,GridBagConstraints.BOTH);
  50.  gridbag.setConstraints(moins,contrainte);
  51.  p1.add(moins);
  52.  donnerContrainte(contrainte,0,0,1,1,100,60,GridBagConstraints.BOTH);
  53.  gridbag.setConstraints(p1,contrainte);
  54.  this.add(p1);
  55.  p2.setLayout(gridbag);
  56.  donnerContrainte(contrainte,0,0,1,1,50,50,GridBagConstraints.BOTH);
  57.  gridbag.setConstraints(l2,contrainte);
  58.  p2.add(l2);
  59.  donnerContrainte(contrainte,1,0,1,1,50,50,GridBagConstraints.NONE);
  60.  gridbag.setConstraints(tf1,contrainte);
  61.  p2.add(tf1);
  62.  donnerContrainte(contrainte,0,1,1,1,50,50,GridBagConstraints.BOTH);
  63.  gridbag.setConstraints(l3,contrainte);
  64.  p2.add(l3);
  65.  donnerContrainte(contrainte,1,1,1,1,50,50,GridBagConstraints.NONE);
  66.  gridbag.setConstraints(tf2,contrainte);
  67.  p2.add(tf2);
  68.  donnerContrainte(contrainte,0,1,1,1,100,30,GridBagConstraints.BOTH);
  69.  gridbag.setConstraints(p2,contrainte);
  70.  this.add(p2);
  71.  p3.setLayout(gridbag);
  72.  donnerContrainte(contrainte,0,0,1,1,50,100,GridBagConstraints.BOTH);
  73.  gridbag.setConstraints(boutOK,contrainte);
  74.  p3.add(boutOK);
  75.  donnerContrainte(contrainte,1,0,1,1,50,100,GridBagConstraints.BOTH);
  76.  gridbag.setConstraints(boutAnnuler,contrainte);
  77.  p3.add(boutAnnuler);
  78.  donnerContrainte(contrainte,0,1,1,1,100,10,GridBagConstraints.BOTH);
  79.  gridbag.setConstraints(p3,contrainte);
  80.  this.add(p3);
  81. }
  82. }


 
Et voila le code du moment ou je l'integre dans mon interface

Code :
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. public class InterfaceCreation extends JFrame
  5. {
  6.     /** Construction de l'interface graphique */
  7.     public InterfaceCreation()
  8.      {
  9.       super("Nom du Logiciel" );
  10.         // Mise en place du conteneur de sous-fenêtres
  11.         JDesktopPane conteneur = new JDesktopPane();
  12.         conteneur.setBackground(Color.gray);
  13.         JPanel contentPane = (JPanel)this.getContentPane();
  14.         contentPane.add(conteneur, BorderLayout.CENTER);
  15.    JInternalFrame scenar = new JInternalFrame("Création Scénario" );
  16.     scenar.setSize(600,700);
  17.         scenar.setVisible(true);
  18.     scenar.setLocation(300,0);
  19.     scenar.setResizable(true);
  20.    FenScèneQcm sc = new FenScèneQcm(scenar);
  21.    scenar.getContentPane().add(sc,BorderLayout.CENTER);
  22.    conteneur.add(scenar);
  23.    this.setSize(900,700);
  24.     }
  25.     public static void main(String[] args)
  26.      {
  27.         InterfaceCreation fenetre = new InterfaceCreation();
  28.         fenetre.setVisible(true);
  29.       }
  30. }


 

n°318921
western
AJMM
Posté le 27-02-2003 à 09:39:38  profilanswer
 

Pour moi, ce sont les weightx et weighty qui merdent ...


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

  GridBagLayout Swing, tout déconne quand je resize la fenetre

 

Sujets relatifs
Point d'apparition d'une fenêtreLaisser une fenêtre au premier plan
[delphi]Taille de fenêtreComment detecter qu'une fenetre à été reduite ?
Passer une variable d'une fenêtre à une autre[MFC] Comment savoir si une fenêtre MDI est partiellement visible ???
Rechecher cours swingURL dans une nouvelle fenêtre et HTML 4.01 strict
[Win] Comment rafraichir la fenêtre?impossiblilité de maximiser la fenetre
Plus de sujets relatifs à : GridBagLayout Swing, tout déconne quand je resize la fenetre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR