voila j'ai fais quelque recherches sur le forum et sur google mais je n'ai pas trouvé de réponse.
j'ai une JFrame qui contient un JPanel et dans ce JPanel j'ai un GridLayout qui contient un nombre indéterminé de JPanel (c'est généré automatiquement par le programme selon le parsing de l'xml qui y est lié)
le seul problème c'est que j'aimerai alligner tous les JPanel qui sont dans le GridLayout à gauche.
les panels en questions contiennent 2 boutons ainsi que 3 JLabel mais cet ensemble s'alligne toujours au centre donc ça donne un escalier pas très sympatique pour une interface utilisateur.
en gros le code resemble à ça :
et la classe Conteneur contient cette partie qui créé le panel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 private void affichageClasse(String nomClasse) { Classe classe = mapClasses.get(nomClasse); affichaceRas.removeAll(); affichaceRas.setLayout(new GridLayout(classe.getListeRas().size(), 1)); try { for (Iterator it = classe.getListeRas().iterator(); it.hasNext();) { String idRa = String.valueOf(it.next()); Ra ra = mapRas.get(idRa); ConteneurRa conteneur = new ConteneurRa(ra); affichaceRas.add(conteneur.getJPanel(), BorderLayout.WEST); } } catch(Exception e) {} }
quand je mets dans conteneur un GridLayout toute mon interface est déformée car les boutons deviennent énorme mais quand je le mets en flowLayout la ils sont de la bonne taille (leur taille minimum) mais par contre le panel est centré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 jPanel.setLayout(new GridLayout()); boutonPlus.setText("+"); boutonMoins.setText("-"); labelNiveauActuel.setText("0"); coutSuivant.setText(String.valueOf(couts[0])); nom.setText(ra.getNom()); description.setText(ra.getDescription()); jPanel.add(boutonPlus); jPanel.add(labelNiveauActuel); jPanel.add(boutonMoins); jPanel.add(coutSuivant); jPanel.add(nom); jPanel.add(description);
si quelqu'un a une idée^^
Partager