[GUI]trouver la bonne hauteur pour un panel

trouver la bonne hauteur pour un panel [GUI] - Java - Programmation

Marsh Posté le 18-05-2003 à 16:14:35    

Bonjour,
 
J'ai un petit problème avec Swing. Je crée des JPanel dont je ne connais pas le contenu au moment de la compilation. Je le mets dans un JScrollPane car il est souvent trop grand pour l'écran. Mais je veux qu'il y ait seulement une barre de défilement verticale, car c'est pas joli et pas pratique de défiler horizontalement (comme pour une page web quoi).
 
Je donne donc au JPanel la largeur que je veux. Par contre, est-ce qu'il y a un truc pour trouver la hauteur nécessaire pour mes composants une fois que j'ai défini la largeur ?  
 
Merci
gtm

Reply

Marsh Posté le 18-05-2003 à 16:14:35   

Reply

Marsh Posté le 18-05-2003 à 20:41:28    

Pour l'histoire de la barre de défilement, il y a des méthodes. setVerticalScrollBarPolicy et setHorizontalScrollBarPolicy.


Message édité par Cherrytree le 18-05-2003 à 20:43:43

---------------
Le site de ma maman
Reply

Marsh Posté le 18-05-2003 à 22:30:53    

si tu utilises le GridBagLayout, cette propriété de gridBagConstaints t'aidera peut etre
http://java.sun.com/j2se/1.4.1/doc [...] .html#fill


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 19-05-2003 à 10:53:18    

>CherryTree:  
C'est pas tout à fait ça que je veux. Si j'ai bien compris, avec ta méthode on cache la barre de défilement, mais ça ne va pas empêcher qu'il y a des composants trop à droite.
 
> moins moins:
Merci, je pense que c'est comme ça que je devrais faire. Par contre, je pense que dans mon cas ça va me prendre trop de temps de trouver les bonnes GridBagConstraints à donner à chaque composant (sachant que je crée les composants à partir d'un fichier XML, il faudrait que je trouve un algorithme pour trouver les bonnes contraintes en fonction du contenu du fichier)

Reply

Marsh Posté le 19-05-2003 à 10:58:26    

Mais dans ton Panel du mets quoi. Du texte (penser aux wrapping policies) ? Une image ?


---------------
Le site de ma maman
Reply

Marsh Posté le 19-05-2003 à 11:09:17    

Pour l'instant, j'ai:
 
Des JLabel
Des JTextArea
Des listes
Et a côté des listes j'ai un autre panel qui peut contenir le même genre d'éléments
 
Sinon, j'ai essayé de passer au verticalFlowLayout. Je pense pouvoir évaluer la hauteur nécessaire en additionnant les hauteurs des getPrefferedSize() des composants contenus dans mon panel

Reply

Marsh Posté le 19-05-2003 à 11:47:51    

Pour le JTextArea, tu connais les méthodes setLineWrap et setWrapStyleWord. Peut-être cela te sera t'il utile.


---------------
Le site de ma maman
Reply

Marsh Posté le 19-05-2003 à 12:08:13    

En fait je crois que j'ai mal expliqué mon problème: quand j'avais le flowLayout, il me mettait les composants les uns à côté des autres, ce qui rendait la barre de défilement horizontale indispensable.
J'ai défini la preferredSize de mon Panel, ce qui a forcé le layout à "passer à la ligne" en mettant les composants. Mais je n'avais aucun moyen de connaitre la vraie hauteur de mon panel une fois les composants disposés en accord avec ma contrainte de largeur.
Donc je suis passé à un VerticalFlowLayout, qui met les composants les uns en dessous des autres, et du coup je n'ai plus ce problème.
Mais merci quand même pour ton aide

Reply

Marsh Posté le 19-05-2003 à 13:49:36    

_gtm_ a écrit :

En fait je crois que j'ai mal expliqué mon problème.


J'avais rien compris [:joce] (d'ailleurs c'est toujours pas clair pour moi, mais bon...). J'ai senti que je pouvais t'aider, mais je ne savais pas comment.


---------------
Le site de ma maman
Reply

Sujets relatifs:

Leave a Replay

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