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 :

[swing] LayoutManager et taille minimum


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 418
    Par défaut [swing] LayoutManager et taille minimum
    Salut.

    J'aimerais savoir s'il est possible de fixer une taille à un composant graphique intégré dans un JPanel utilisant un LayoutManager (lui-même intégré à un JSrollPane) ?

    > avec un GridLayout, manifestement, tous les composants sont forcéments affichés avec la même taille (celle du composant le plus grand);
    > avec un BorderLayout, les composants n'ont pas la même taille, mais je n'ai pas réussit à fixer de taille minimum pour un composant particulier.

    D'une manière plus générale, pour contrôler la taille de ses composants, quelles sont les pratiques à suivre ?
    Quand utiliser les setMinimum/Preferred/MaximumSize(), et quand surcharger les getMinimum/Preferred/MaximumSize() ?
    Avec un LayoutManager, faut-il utiliser les méthodes du composant (celles tout juste citées), ou celle du LayoutManager : minimum/preferred/maximumLayout(Container c) ?

    Désolé, ça fait beaucoup de questions, mais malgrès de multiples tentatives dans diverses applications, je n'ai jamais trouvé quelle était la technique adaptée sans faire de nombreux essais, sans toujours aboutir au résultat désiré...

    Merci d'avance.

  2. #2
    Membre chevronné Avatar de spekal
    Inscrit en
    Mai 2005
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 502
    Par défaut
    À tes nombreuses questions il n'y a malheureusement qu'une seule réponse : cela dépend du layout manager.

    Il faut donc à chaque fois consulter la doc et faire des essais.

    En général, ceux qui respectent les tailles minima, maxima, etc, sont les layouts apparus après les premiers développements de swing, car ce sont des notions plutot développées dans un contexte swing. Donc : BoxLayout, SpringLayout...

  3. #3
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Et de manière générale, il est inutile de surcharger getMinimum/Preferred/MaximumSize, parce que le LayoutManager les consultera si il le veut bien.

    Par contre, tu peux essayer de surcharger getSize pour le forcer à prendre en compte les taille minimum/maximum, mais je ne sais pas comment va réagir le LayoutManager.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  4. #4
    Membre émérite
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Par défaut
    essaye d'apprendre le GridBagLayout.
    il prend en compte le minimumSize, le preferedSize et le maximumSize. donc oui, tu peuxles mettre sur tes Component si tu utilise le GridBagLayout. tu peux definir des weight comment ton component devra filler des insets (positive ou negative) et meme des padding (mais a eviter autant que possible)

    je l'utilise souvent car tres puissant quand on a compri son principe. en plus maintenant ils ont rajouter le support de la baseline.
    il est sorti dans les toute premiere version de Java, ilest toujours dans la course avec les nouveau truc genre GroupLayout (aussi inclu a Mustang) le FormLayout de JGoodie...

    si tu l'apprens c'est mieux parce qu'il peut toujours etre utilise le GridBagLayout!!

  5. #5
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Mouaip, par contre vu la tendance qu'il a à la complexification du code, y'a des moments c'est tout de même un tant soit peu lourdingue par rapport à DefaultFormBuider JGoodies

    Tant qu'on est sur le gridbag, un petit classique: totally gridbag

  6. #6
    Membre émérite
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Par défaut
    si tu sais l'utiliser correctement et que t'a preparer ton interface avant le code n'est pas forcement complexe.
    tu definis juste les contrainte qui faut.
    tu utilise des gridx et gridy sur GridBagConstraints.Relative pour qu'il incremente automatiquement

    tu met tes minimum size, prefered size et maximum size et tu a fini.

    certain prefere GroupLayout d'autre FormLayout et d'autre GridBagLayout. Voila

Discussions similaires

  1. [Swing][JFrame]définir une taille minimum
    Par Wormus dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 11/07/2006, 21h31
  2. [JFrame] Taille minimum
    Par GENERYS dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 14/10/2005, 01h23
  3. [Info] [Swing] LayoutManager
    Par Royd938 dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 18/08/2005, 09h18
  4. [AWT] JFrame - Mettre une taille minimum sur une Jframe
    Par rabobsky dans le forum Agents de placement/Fenêtres
    Réponses: 12
    Dernier message: 27/07/2005, 18h20
  5. Taille minimum pour une JFrame ou une JInternalFrame
    Par sixkiller dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 30/11/2004, 15h26

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