IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Taille des composants swing


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut Taille des composants swing
    Hello !

    Je suis un peu perdu sur la gestion de la taille des composants swing d'une interface graphique geree par GridBagLayout.

    Mon application est constituée d'uen serie de panels imbriqués dans lequel j'affiche des composants style JLabel, JTextfield, (autres panels), etc ...

    Pour gerer la taille des composants j'utilise l'option fill de GridBagConstraints, afin de les etirer ou non au sein des cellules affectés.

    Dans certains cas j'ai eu des comportements etranges, et je susi donc passé par l'affectation d'un setPreferedSize pour "fixer" la tailel de certains composants.

    Par contre j'ai du mal a tout stabiliser : et j'ai beau jongler entre les size, MinimalSize, Maximalsize, Preferredsize, ... pas de rendu correct.

    J'aurais besoin de quelques infos pour bien structurer mon interface graphique et en quelque sorte arriver a "predire" le resultat ... car pour le moment j'arrive surtout a prevoir ce qui va pas arriver (c'est a dire le resultat que je souhaite obtenir )

    [Edit]accessoirement j'aimerais savoir comment on peux changer uniquement une partie des dimenstions ?
    par exemple, si j'affecte un preferedsize sur un panel en width je suis obligé de saisir un preferredsize en height, ce qui m'embete car j'aimerais qu'il se redimentionne en fonction du contenu sans avoir a le calculer a la main (ou le tester apres N compil, pixels par pixels ...)

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par défaut
    Le GridBagLayout c'est un super Layout !

    Quand on sait s'en servir.

    Ce qu'il faut c'est etre méthodique, pour s'en sortir, au début tu dispose tes composants sur des gridx et grixy en sachant que la largeur max d'une colonne est la largeur max d'un de ses composants (on parle toujours de preferred size).
    et pareille pour une hauteur de ligne.

    Si dans ton GridBagLayout du as des Panel avec des Layout (ben tu vas déguster). Car certains layouts imposent la taille aux enfants GridLayout (BorderLayout centre), d'autres imposent aux parents etc...
    Ca me rappel un moteur de règle que j'ai fait dans le temps. Ah la nostalgie.
    La ca devient trop compliquer à expliquer.

    Ensuite effectivement tu règles les weightX et weightY pour ajuster les largeurs et hauteur des colonnes pour ajuster à la taille du container du gridbaglayout (donc pour pas que tout reste au centre). Comme en HTML avec les % en gros.

    Enfin tu gères sur chaque widget les fill et les anchors.

    Bien souvent on fait des Layout dans des Layout dans des Layout ce qui est mauvais, pense peut etre à l'idée de passer en paramètre des builders un panneau avec un contexte de layout, et chaque builder à la responsabilité de faire le layout dessus (comme pour le graphisme)

  3. #3
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Hello
    Oui le GridBagLayout je commence pas trop mal a le maitriser mais comme tu l'a dit, la taille des colonne depends de celle des composants qu'il possede.
    du coup il faut bien gerer tout ca et c'est la que je m'y pert.

    J'utilise en effet un maximum de preferredsize pour attibuer une taille a un element.

    par contre, je ne sais pas comment gerer les dimension par moitier ...
    prenons par exemple le panel dont j'aimerais qu'il ai une taille fixe en largeur, et une hauteur variable, en fonction de son contenu.
    comment qu'on fait

    c'est sur ce genre de comportement, qui je pense s'appuie sur une combinaison judicieuse des min/max et prefered, que je m'arrache les cheveux.

    sinon j'aimerais bien que tu detaille un peu plus ton idee de builders ?

    Pour info je n'utilise que des GridBagLayout sur des panels imbriqués entre eux.

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par défaut
    j'imagine que sur le panel pour fixer la largeur il faut faire set maximum size 20,20000 et minimum size 200,0 par exemple.

    mais je pense que si tu en arrives là c'est peut etre que tu as une erreur de strategie dans ton building.

    pour l'idée du context, tu peux peut etre faire dans un signature de méthode du type designGUI(JPanel panel,Context context) panel ayant un GridBagLayout et Context contenant la posistion x et y ou tu peux commencer à placer des éléments. x et y peuvent aller jusqu'à 511

    Si tu as un screenshot de ce que tu veux faire je pourrai mieux te conseiller car le gridbaglayout n'est peut etre pas ta solution.

  5. #5
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    voila le screen, au format zip car au taf j'ai pas encore eu l'occasion d'installer Gimp pour generer du jpeg

    ce qui m'interesse c'est avant tout une bonen strategie de codage de l'IHM car ce programme me sert avant tout de formation
    Fichiers attachés Fichiers attachés

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par défaut
    Je vois pas de soucis particulier sur ton screenshot, a priori tu as résolu tous tes problèmes

Discussions similaires

  1. Regrouper des composants swing
    Par ToTo13 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 02/04/2007, 18h15
  2. Grosse appli avec des composants Swing ?
    Par marmotte dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/10/2006, 14h53
  3. [Swing] Problème de placement et de taille des composants
    Par CrazySeb dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 22/04/2006, 14h56
  4. [Swing] Fixer la taille des composants
    Par Imladir dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 05/02/2006, 07h53
  5. [netbeans][Interfaces] réglage taille des composants
    Par tsinapah dans le forum NetBeans
    Réponses: 3
    Dernier message: 22/04/2005, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo