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 :

[JPanel] Agrandir automatiquement


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre confirmé Avatar de langevert
    Profil pro
    Inscrit en
    Août 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 92
    Par défaut [JPanel] Agrandir automatiquement
    Bonjour,

    Comment faire pour agrandir un JPanel en fonction des élements qu'il contient ?

    Par exemple, un panel qui possède les propriétés suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    JPanel pan = new JPanel();
    pan.setLayout(null);
    pan.setMinimumSize(New Dimension(100,100));
    pan.setPreferredSize(New Dimension(100,100));
    JButton b = new JButton();
    b.setBounds(50, 50, 200, 200);
    pan.add(b);
    Bon bouton ne sera pas affiché en entier car il le panel est trop petit. J'aimerai donc que mon panel soit automatiquement agrandit pour que je puisse voir son contenu en intégralité. (Le tout sans utiliser des JScrollPane)
    Est-ce possible?

    Merci d'avance

  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
    Qu'est-ce qui t'empêche d'utiliser un layout ? C'est fait pour ça. Si tu ne veux pas utiliser de layout, alors il faut le simuler et faire son travail. Donc autant utiliser un layout (sauf si bien sûr tu nous sors une excuse en béton pour justifier ça)
    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 confirmé Avatar de langevert
    Profil pro
    Inscrit en
    Août 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 92
    Par défaut
    Si j'applique un Layout sur le Jpanel cela va agir sur la taille de ses composants mais pas sur sa taille à lui. Je me trompe?


    Si je redimensionne "à la main", faut-il faire quelque chose de la sorte?
    - Chercher la valeur maxi "x" des élements du panel
    - Pareil pour y
    - Redimenssioner le panel avec x et y

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut
    Normalement avec un layout , pour agencer ses composants c'est quand même bien plus simple.

    Ensuite j'en suis pas trop sûr mais tente de mettre un "this.pack()", le this désignant ta fenêtre.

  5. #5
    Membre confirmé Avatar de langevert
    Profil pro
    Inscrit en
    Août 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 92
    Par défaut
    Merci pour vos réponses
    Oui, je suis d'accord mais où appliquer le Layout?
    Car voici ma structure :



    JFrame............
    .........^ JScrollPane.............
    .................^ JPanel 1 ........(FlowLayout)
    .............................^ JPanel 2...........
    .......................................^JButton................



    Mon panel en question est ici JPanel 2.
    Or je veux que la taille de mon JFrame (et donc de mon ScrollPane) soit indépendant du contenu du JPanel2. Mais je veux que la taille du JPanel2 soit en correspondance avec son contenu...
    En gros: Si Jpanel2 trop petit: il s'agrandit, mais uniquement lui (pas besoin les autres car il se trouve dans un ScrollPlane)
    Et ca je ne vois pas comment faire...

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut
    Aïe, en effet ...


    T'es sûr de ton JScrollPane ? Tu ne peux pas le mettre à la fin de ta structure ?

  7. #7
    Membre confirmé Avatar de langevert
    Profil pro
    Inscrit en
    Août 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 92
    Par défaut
    En fait mon Panel2 va contenir un nombre (différent à chaque fois) d'éléments en fonction de données extérieures. C'est pourquoi je cherche a ce que ce Panel obtienne sa taille automatiquement en fonction des éléments qu'il contient. Ce panel aura donc une taille différente à chaque fois.

    Donc si je met le Jscrollbar tout à la fin de ma structure, et si le Panel2 est plus grand que ma JFrame, celui-ci ne sera pas affiché en entier.
    C'est pourquoi je l'ai mis tout en haut de ma structure, de façon à ce que si le Panel2 est plus grand que ma JFrame, je peux quand même le voir en entier grâce aux ascenseurs...

  8. #8
    Membre très actif
    Profil pro
    Inscrit en
    Août 2008
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 265
    Par défaut
    Ah ben dans ce cas je crois savoir.

    Le .preferredSize(x,y) tu le fais seulement pour ton JScrollPane.
    Pour ton JPanel tu mets rien si ce n'est un beau layout.


    Bon je dis ça, mais je suis loin d'être un professionel

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/10/2008, 12h14
  2. Réponses: 1
    Dernier message: 12/05/2008, 09h26
  3. JFrame agrandir automatiquement
    Par JAVIR dans le forum 2D
    Réponses: 1
    Dernier message: 05/09/2007, 14h55
  4. Champ INPUT TEXT - Agrandir automatiquement selon la longueur du texte ?
    Par bilou95 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 31/05/2007, 14h24
  5. Réponses: 2
    Dernier message: 21/04/2007, 15h33

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