Je n'y arrive que par le biais des Layout des Panels contenant les JButton.
Y a pas un moyen plus simple?
Je n'y arrive que par le biais des Layout des Panels contenant les JButton.
Y a pas un moyen plus simple?
Si un composant n'est pas dans un FlowLayout, tu ne contrôle que partiellement sa taille (ex : BorderLayout) voire pas du tout (ex : GridLayout). Donc la réponse à ta question est non, à moins qu'il soit dans un FlowLayout.
Une bonne solution (je trouve) lorsque l'interface n'est pas trop complexe est d'utiliser les layout que tu veux comme tu veux, et d'y mettre systématiquement des JPanel gérés par un FlowLayout, et tu mets tes composants dans ces JPanel. Comme ça tu as beaucoup plus de libertés sur leur taille.
Tu vois ce que je veux dire ?
mmmmm; ouai c'est un peu compliqué ça. Je pense ,qu'à ce moment là, il vaut mieux opter pour le GridBagLayout, non? parceque avoir plus de trois panels par "vue" je ne trouve pas ça très propre
Oui je vois très bien puisque c'est ce que je fais. Je voulais savoir si on pouvait faire autrement qu'en passant par des Layout, apparemment non
Merci
Si... tu peux très bien le faire en mettant le layout à null et placer tes composants en leur donnant des coordonnés avec setBounds(x,y,largeur,hauteur) mais apres c'est aussi à toi de gèrer l'agrandissement et le repositionnement des composants lorsque la taille de la fenetre est modifié...Envoyé par MeDioN
Les layout c'est bien et faire des JPanel imbriques c'est bien. Le FlowLayout en revanche... est souvent source de mauvaises UI. Il est tres pratique mais pour des cas assez particuliers. N'oublie pas qu'avec certains layouts tu peux jouer avec setPreferredSize() sur tes composants.
Je profite de ce thread pour poser 2 questions...
Cela deviens pas un peu lourd si l'on imbrique trop de JPanel ?Envoyé par Gfx
et quel est l'intéret d'utilisé un JPanel plutot qu'un JComponent ? qu'apporte-t'il de plus ?
Tant que tu n'en imbriques pas plusieurs dizaines il n'y a pas de souci. Un JPanel est presque identique a un JComponent mais a un fond opaque que les JComponent n'ont pas. Ce font transparent des JComponent force la traversee de la hierarchie de composants pour le dessin et altere les performances.
Et moi qui pensais que les JComponent devaient etre plus performents pcq il y a un héritage de moins et donc moins de code chargé en mémoire...Envoyé par Gfx
merci
Quoi que tu fasses, une JFrame dispose d'un JPanel (son content pane), donc tu auras quand meme charge la classe et son code en memoire. Ce ne sont pas les instances qui prennent de la place dans le cas du JPanel. Regarde son code source, tu verras que c'est une classe tres simple qui ne fait rien de tres different du JComponent.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager