[Layout] Redimensionner en gardant les proportions [Résolu]

Messages postés
8
Date d'inscription
vendredi 24 février 2012
Dernière intervention
15 mars 2012
- - Dernière réponse : cs_Julien39
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
- 28 févr. 2012 à 14:36
Bonjour,

Ma question est simple, existe-t-il un Layout (ou des paramètres à entrer dans un Layout) permettant de placer un élément dont les proportions seront fixes mais qui devra prendre le maximum de place disponible dans son contenant.

Je m'explique :

Mes composant :
[list]
[*] Un JPanel principal ayant un Layout BorderLayout
[*] Un JPanel "d'options" à droite (BorderLayout.EAST)
[*] Un JPanel "contenu" à gauche (BorderLayout.CENTER) qu'on nommera pCont
[*] Un JPanel "cible" placé dans pCont, ayant des proportions fixes (pas forcément carré, mais pouvant être rectangulaire), dont le Layout est GridLayout, qu'on nommera pCible
/list

Lorsque je redimensionne la fenêtre, pCont est aussi redimensionné et ses proportions changent (jusque là, tout est normal). Seulement, je voudrais que pCible prenne le maximum d'espace possible dans pCont, tout en y restant centré.

Voici ce que cela devrait donné en pseudo-image couleur :

Jpanel d'origine :
#####pCont########
####pCible########
##################
##################
##################
##################

Redimensionnement vertical :
#####pCont########
##################
##################
####pCible########
##################
##################
##################
##################
##################
##################

Redimensionnement horizontal :
#########pCont############
########pCible############
##########################
##########################
##########################
##########################

Redimensionnement horizontal ET vertical :
########pCont###########
#######pCible###########
########################
########################
########################
########################
########################
########################

J'ai réussi à bidouiller un peu ceci en mettant le Layout de pCont à GridBagLayout et en centrant ainsi facilement pCible, puis, grâce à un ComponentAdapter, je modifie les dimensions de pCible tout en faisant attention à bien garder les dimensions, mais je trouve que le rendu n'est pas génial.

Existe-t'il un Layout (ou une combinaison de Layout) qui permette de faire ceci ?

Merci d'avance pour vos réponse !
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
272
3
Merci
Bonjour,

C'est vrai pour l'explication : très astucieux les dessins.

Tu as le BoxLayout qui te permettra de le faire : http://docs.oracle.com/javase/tutorial/uiswing/layout/box.html

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
8
Date d'inscription
vendredi 24 février 2012
Dernière intervention
15 mars 2012
3
Merci
Merci beaucoup de vos réponse !

Au final, je n'aurai utilisé aucune de vos deux réponse... Mais, en lisant le tuto du BoxLayout, j'ai trouvé comment faire pour réalisé mes desiderata : au lieu de jouer sur les dimensions lors du redimensionnement, je joue sur les bordures (avec setBorder avec un écouteur étendant ComponentAdapter), et le résultat est (semble ?) parfait !

Désolé de n'avoir utilisé ni FormLayout ni BoxLayout, mais (de retour de week end, d'où ma réponse tardive), je n'ai pas réussi à fixer les proportions (par exemple : carré) du JPanel [color = green]pCible/color... Cependant, je m'en veux de ne pas avoir pensé à jouer sur les bordures plus tôt, c'était tout bête !

Bon, certes, ça reste plus ou moins que du bricolage, mais le résultat est ce que j'attendais, donc ça me convient ! Encore merci...

Sinon, concernant vos éloges () concernant mon explication, merci beaucoup ! Cependant, il me semble normal d'expliquer le plus clairement possible ce que l'on souhaite afin d'avoir une réponse la plus pertinente possible !

Encore merci !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Froxil
Messages postés
600
Date d'inscription
samedi 20 mai 2006
Dernière intervention
8 juillet 2016
9
0
Merci
Salut ^^

tout d'abord, très belle explication, sincèrement...

Ensuite, je te conseille la librairie formscontenant le layout FormLayout... Elle devrait tout à fait répondre à tes attentes...
Commenter la réponse de cormandyr
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Dernière intervention
17 mai 2018
272
0
Merci
L'important est que tu ais réussi à trouver une solution qui te convienne.

N'oublie pas d'accepter ta propre réponse pour fermer le sujet.

a+
Commenter la réponse de cs_Julien39

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.