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

Agents de placement/Fenêtres Java Discussion :

Layout et positionnement de Panel


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 8
    Par défaut Layout et positionnement de Panel
    Bonjour,

    Je vais essayé d'exposer mon problème le plus clairement possible.
    Actuellement je suis en train de réaliser une IHM (interface homme machine) permettant de la création de fichier de configuration. (voila un peu le contexte).

    Mon problème est assez simple, mais me prend la tête, j'ai 4 panels contenant tous les bouts de mon formulaire. Je les veux dans une nouveau panel qui lui est tous simplement dans ma fenêtre.

    Pour les positionner j'ai d'abord utilisé un GridLayout tous simplement, 4 lignes une colonne, le problème était la taille justement égal des panels, la largeur était parfaite, la hauteur non ajustée aux composants internes.



    J'ai essayé donc de gagner un peu de place pour avoir une taille justifiée autant en largeur qu'en hauteur. Pour ça j'ai utilisé un GroupLayout, ce qui donne :



    C'est pas vraiment ce que je voulais obtenir.
    Si vous avez une idée pour m'aider ou me conseiller complètement, ou bien besoin de précision, je serais attentif, en vous remerciant !

  2. #2
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    Bonjour,

    Si j'ai bien compris tu veux des panels tous identiques, si c'est bien cela tu peux regarder la fonction setPreferredSize(), qui permet de "forcer" la taille d'un composant. Je ne sais pas la réaction dans une gridLayout mais c'est une piste .
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  3. #3
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par XxArchangexX Voir le message
    Si j'ai bien compris tu veux des panels tous identiques
    D'après ce que j'ai compris moi, c'est pas tout à fait ce qu'il veut. Actuellement il a :
    GridLayout
    - même largeur de composant
    - même hauteur de composant
    GroupLayout
    - largeur de composant en fonction de la place à prendre
    - hauteur de composant en fonction de la place à prendre

    Et Tiloou veut :
    - même largeur de composant
    - hauteur de composant en fonction de la place à prendre

    C'est bien ça ?
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 8
    Par défaut
    Alors oui actuellement, j'aimerais que mes panels puissent prendre pile juste la place qu'il leurs faut en hauteur (histoire d'économiser de la place, tous le monde n'a pas un grand écran ).

    Ensuite réussir a ce qu'ils prennent la largeur du container, actuellement un JPanel.

    Pour l'instant j'ai réussis l'un des deux mais jamais les deux, comme vous pouvez le voir.

    (Avec GridLayout, les changements de taille sont sans effets après quelques tests, avec GroupLayout, même si j'essaye de forcer la taille des panels, ou bien de les mettre à la taille du Parent via un getParent().getSize() aucun effet aussi.)

    Merci de vos réponses

  5. #5
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    Bonjour,

    Oui pour un débat je trouve le gridLayout asser mal foutu, il force la taille du composant à celle de sa case. Pour pouvoir changer la taille des composants dedans, ma technique c'est de mettre le composant que tu veux dans la grid dans un JPanel avant, ainsi le Jpanel Aura la taille de la case de la grid mais le composant dedans peut changer de taille. Donc tu pourrais faire varier la hauteur de tes JPanel pour les adapter.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 8
    Par défaut
    Après avoir passer pas mal de temps dessus, j'ai finalement décidé d'essayer le GridBagLayout, chose que je ne maitrisais pas vraiment mais bon c'est en pratiquant qu'on apprend.

    J'arrive a quelque chose de plutôt satisfaisant et automatique.
    (seul inconvénient, quand on met en plein écran ça ne suit pas..je pense a mettre un resizable(false) quelque part car le plein écran semble totalement superflux.)

    Résultat :


    Plein écran :


    L'idée de l'inclure dans un nouveau JPanel n'est vraiment pas bête, ça permettrai de contrôler totalement la taille de mon panel cible, ça serai un peu moins pratique. Si jamais j'ai un absolument besoin du plein écran je pense que je m'y pencherais.

Discussions similaires

  1. Layout pour metre 2 panels en 2/3 1/3
    Par sarsipius dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 25/04/2009, 19h39
  2. taille definie pour layout et positionnement a l'interieur
    Par didux67 dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 18/02/2008, 14h37
  3. [c#] Probleme de positionnement de panel
    Par Shakta dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/07/2006, 18h07
  4. [wxPython] positionnement des panel dans fenetre
    Par hysah dans le forum wxPython
    Réponses: 5
    Dernier message: 04/01/2006, 13h39
  5. panel, layout et frame
    Par beLz dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 24/04/2004, 23h45

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