Bonjour, j'utilise un container JScrollPanel qui contient lui même un JPanel. Dans ce JPanel, j'utilise un layout GridBag qui doit me séparer le panel en 3 colonnes.
La première contient du texte fixe, la 3eme des boutons qui ne changent pas de taille non plus. En revanche celle du milieu contient du texte provenant d'une base de données et à longueur plutôt variable.
Le soucis dans tout cela c'est que si je redimensionne ma fenêtre, mon panel va s'agrandir à l'infini en renvoyant mes boutons sur la droite un peu plus à chaque nouveau redimensionnement.
Cela provient de ce code que j'utilise pour essayer de "justifier" le texte récupéré dans la base de données et que j'affiche au milieu. Si je n'utilise pas ça, il est tout condensé sur la gauche et je me retrouve avec 5 lignes par exemple alors que je peux le faire tenir sur une seule avec le code ci-dessous
gbc.fill = GridBagConstraints.HORIZONTAL;
Est ce que qqun saurait quoi utiliser d'autre pour justifier mon texte et ainsi éviter que mes boutons soient rejetés tjs un peu plus sur la droite à chaque redimensionnement de fenêtre ?
Voila le code :
Code :
- //Layout
- GridBagConstraints gbc = new GridBagConstraints();
- Insets insets = new Insets(5, 5, 5, 5);
- gbc.gridx = gbc.gridy = 0;
- gbc.insets = insets;
- gbc.weightx = 0;
- gbc.weighty = 0;
- //Colonne de gauche
- gbc.anchor = GridBagConstraints.EAST;
- documentPanel.add(new JLabel("ID" ), gbc);
- //Colonne de droite
- gbc.gridx++;
- gbc.gridx++;
- gbc.anchor = GridBagConstraints.WEST;
- this.documentButtonEditName = new JButton("Edition" );
- documentPanel.add(documentButtonEditName, gbc);
- //Colonne du milieu
- gbc.gridx = 1;
- gbc.gridy = 0;
- gbc.weightx = 1;
- gbc.weighty = 1;
-
-
- gbc.fill = GridBagConstraints.HORIZONTAL;
- documentPanel.add(this.documentId, gbc);
|
Message édité par JBs le 11-05-2004 à 18:21:14