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 :

Layout et preferredSize


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 341
    Par défaut Layout et preferredSize
    Bonjour,

    est-il possible d'imposer une taille fixe dans le sens vertical, et une taille adaptable dans le sens horizontal ?

    Exemple:
    Je constitue une fenêtre composée de:
    -----------------------------------------
    [Une barre d'outils contenant des boutons]
    [Une barre de libellés ]
    -----------------------------------------
    |Une JTable........................................|
    |.......................................................|
    |.......................................................|
    |.......................................................|
    ___________________________________|

    Les JButtons et JLabels équipant les barres en haut de la fenêtre devraient être libres de s'adapter à la largeur de celle-ci.
    Je leur donne donc une preferredSize, et laisse faire le Layout. J'en ai essayé plusieurs typre (FlowLayout, BoxLayout...)
    Le problème est que celui-ci décide aussi d'adapter les composants en hauteurs.
    Je souhaiterais imposer la taille en hauteur.

    Existe-t-il une astuce pour cela ?

    Merci & @ bientôt

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Dans ton BoxLayout, tu ajoutes un composant de hauteur fixe avec javax.swing.Box#createVerticalStrut(int).
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 341
    Par défaut
    Bonjour,

    Merci pour cette réponse mais je pense que je me suis probablement mal expliqué dans mon exemple.
    Le phénomène qui me gêne est que si j'allonge la hauteur de la fenêtre, le Layout allonge en hauteur le JPanel contenant tous les outils.
    C'est cela que je voudrais empêcher.
    D'après ce que j'ai cru comprendre, le Strut permet d'intercaler un espace entre les différents éléments. Je ne vois pas comment l'ajout de ce composant pourrait régler mon problème...

    Je me demande s'il n'est pas possible de définit une espèce de preferredSize, en hauteur, mais libre en largeur...

    @ bientôt

  4. #4
    Membre émérite
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Par défaut
    Bonjour,

    il faudrait un peu plus de détails:
    - tes barres de boutons sont-elles des composants existants (JMenu ou autre) ou bien des JPanel que tu as customisé?
    - comment sont organisés les composants de ta fenêtre? quel(s) layout(s) utilises-tu?

  5. #5
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par rtg57 Voir le message
    Bonjour,

    Merci pour cette réponse mais je pense que je me suis probablement mal expliqué dans mon exemple.
    Le phénomène qui me gêne est que si j'allonge la hauteur de la fenêtre, le Layout allonge en hauteur le JPanel contenant tous les outils.
    C'est cela que je voudrais empêcher.
    Ah ok ! Effectivement, ce n'était pas clair...
    Utilise un BorderLayout, North pour les outils et Center pour la JTable.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  6. #6
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 341
    Par défaut
    Ouf, j'y suis arrivé.

    Effectivement, j'ai utilisé le BorderLayout.
    Sans entrer dans les détails, j'ai dû faire une combinaison de plusieurs Panels ayant pour certains un FlowLayout, puis j'ai mis tout ça dans un autre Panel géré par un BorderLayout.

    C'est bien les Layouts mais c'est un peu casse-tête chinois. J'ai dû redessiner plusieurs fois l'agencement de mes composants sur une feuille de papier avant de trouver un ensemble fonctionnel.

    Merci pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Layout-Date] Configuration par fichier
    Par Koko22 dans le forum Struts 1
    Réponses: 4
    Dernier message: 28/07/2004, 09h39
  2. JScrollPane non actif (layout)
    Par Oliveuh dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 21/07/2004, 10h50
  3. [struts]Documentation Struts-layout
    Par GreenJay dans le forum Struts 1
    Réponses: 5
    Dernier message: 14/06/2004, 11h51
  4. panel, layout et frame
    Par beLz dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 24/04/2004, 23h45
  5. [Débutant][swt][layout]
    Par Stessy dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 28/07/2003, 18h21

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