begin process at 2010 02 10 14:17:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

API

 > 

Problème de layout dynamique de JPanel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de layout dynamique de JPanel

mercredi 24 novembre 2004 à 21:27:57 | Problème de layout dynamique de JPanel

Wytt

Bonjour,

Je cherche à créer dynamiquement un JPanel dans lequel je veux disposer à l'aide d'un GridLayout(par exemple) d'autres JPanel.

J'ai créé une petite applet pour mettre en évidence mon problème : j'ai un JTextField et un JButton, et lorsque l'on clique sur le bouton ca doit créer un pnl en dessous avec un gridLayout et ajouter à celui-ci autant de panel qu'indiqué dans le textField.

Pour que le spanels soient bien ajoutés dynamiquement, je suis obligé d'utiliser la méthode ".setBounds" (comme s'il n'y avait pas de layout alors que le but d'un layout entre autres et notament de gérer les problèmes de disposition).

Donc voilà je ne comprends pas trop pourquoi cela ne marche que lorsque jutilise la méthode "setBounds" que ce soit sans layout ou avec...

Voici le code appelé par lorsqu'on clique sur le bouton pour créer dynamiquement le panel "pnlBas":

public void construirePnlBas()
{
this.pnlBas = new JPanel(new GridLayout(0,1));
this.pnlBas.setBounds(this.pnlFond.getX(),this.pnlCentre.getY()+this.pnlCentre.getHeight(),
pnlFond.getWidth(),pnlFond.getHeight()-pnlHaut.getHeight()-pnlCentre.getHeight());
this.pnlBas.setBackground(Color.red);
this.pnlBas.setBorder(BorderFactory.createTitledBorder("PnlBas"));

JPanel[] tabPnlBas = new JPanel[nombre];
for (int i=0;i<tabPnlBas.length;i++)
{
tabPnlBas[i] = new JPanel();
//tabPnlBas[i].setBounds(i*100,i*50,200,50);
tabPnlBas[i].setBackground(Color.black);
tabPnlBas[i].setBorder(BorderFactory.createTitledBorder("Label "+i));
this.pnlBas.add(tabPnlBas[i]);
this.pnlBas.repaint();
}
this.pnlFond.add(pnlBas);
this.pnlFond.repaint();
}
lundi 20 décembre 2004 à 02:18:17 | Re : Problème de layout dynamique de JPanel

Madvin

Salut,

c'est tout simplement parce que l'application ne recalcule pas à partir de la base de la hiérarchie de tes composants la disposition de ceux-ci. Pour cela, il faut que tu rappelles, après avoir effectué toutes les modifications de ton panel (ajouts+suppressions), la méthode pack() sur ta fenêtre principale.

Cette méthode s'applique aux instances de la classe Window(comme les Frame ou les JFrame).

Par contre pour les applets je ne sais pas comment on fait. Désolé.

En espérant que ça t'aide...

@++
vendredi 18 mars 2005 à 00:49:56 | Re : Problème de layout dynamique de JPanel

TheOnly

Salut les gars,

pour éviter le sintillement + autres effets néfastes du pack, il vous suffit d'utiliser la méthode validate du JFrame ;-)

Voilà un petit plus

-= TheOnly =-


Cette discussion est classée dans : jpanel, layout, pnlbas, tabpnlbas, pnlfond


Répondre à ce message

Sujets en rapport avec ce message

JScrollPane et Layout à null [ par Kael_Kael ] Bonjour,je développe actuellement une interface graphique affichant une hiérarchie. Cette hiérarchie est entièrement faite à la mains.Ainsi, dans mon BoxLayout redimension [ par empiret ] Bonjour, J'ai un jpanel avec un layout BoxLayout. Ces composants ont des hauteurs(les largeurs sont identiques a celui du jpanel) bien determines et d JPanel et Layout [ par xactise ] Bonjours je debute en java et j'ai lu pas mal d'article sur les JPanel et les Layout mais pas moyen de m'y faire je n'arrive pas a positionner comme j Probleme de Layout / ajout de composants à partir d'une autre classe. [ par ehochedez ] Dans une class Window (héritée de JFrame) j'ai un JPanel (nommé southPanel) en public static avec un FlowLayout. Si j'ajoute un JLabel Label1 dans ce Petit probleme JPanel [ par tigroux ] Voila en fait je dessine un graphe dans un JPanel, rien de très difficile. Par contre je souhaite afficher ce même graphe dans deux fenetre différente Swap de jpanel [ par omcougar ] Bonjour, Je n'ai pas trouvé la réponse à cette question dans les forums JScrollbar et JPanel [ par yonathanzerb ] bonjour a tous!Bon ben je sais qu'il y a plein d'exemple sur le forum mais je trouve pas la réponse a mon problème...J'ai un Jpanel général qui contie Approcher les éléments du JPanel les uns des autres [ par bourgi220 ] Bonjour,Je viens de faire une interface graphique (et je débute...), et dans mon JPanel, il y a plusieurs JTextField. Entre chaque JTextField, il y a probleme Onglets et JTextArea [ par Javanewbi ] Bonjour, en fait j'ai un tabbedPane avec des onglets ki a chaque fois que je clik sur nouveau ca creer un onglet avec un jtextArea dedans :JPanel pane ajout composant JPanel [ par didoux95 ] salut a tous, j'ai un petit probleme que je n'arrive pas a resoudre: j'ai creer une fenetre dans la quelle j'y ai ajouter deux bouton ("Ajouter" et


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales