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 :

[JScrollPane] problème elles ne veulent pas s'activer


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Points : 58
    Points
    58
    Par défaut [JScrollPane] problème elles ne veulent pas s'activer
    Salut à tous,

    Le problème est un peu long à expliquer mais je vais essayer de faire de mon mieux pour faire ça court et simple.

    J'ai une fenêtre (en BorderLayout) qui est séparée en deux panel, un center et un west.
    Le west est découpé en deux sous panel l'un en dessous de l'autre.
    Pour c'est deux sous panel je leur ai mis une taille.
    Le premier a une taille fixe (enfin j'essaye) et le second lui n'en n'a pas.
    Sur le second j'ai mis le panel dans un JScrollPane.

    Je voudrais et j'essaye de faire lorsque le contenu du second panel dépasse la taille du premier alors le scrollbar horizontal doit se déclencher mais je n'y arrive pas. J'ai essayé en fixant la taille du second panel mais elle ne fixe jamais donc le scrollbar ne peut pas se déclencher.

    Le scrollbar se déclenche bien verticalement car le panel arrive à la fin de la fenêtre mais l'horizontal ne marche pas.

    Voilà mon code du second panel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    JPanel westPanel = new JPanel(new BorderLayout());
    JPanel secondPanel = new JPanel(new BorderLayout());
    JScrollPane scrollPane = new JScrollPane(secondPanel);
     
    // Un autre panel on je met une liste d'élément
    JPanel list = new JPanel(new GridBagLayout());
    Border border = new TitledBorder("Liste");
    list.setBorder(border);
     
    JLabel label = new JLabel("Titre");
    // Fonction qui ajoute des labels correspondant aux éléments
    GridBag.addLabel(...);
     
    secondPanel.add(list, BorderLayout.NORTH);
    westPanel.add(scrollPane);
    Merci d'avance

  2. #2
    Membre confirmé Avatar de spekal
    Inscrit en
    Mai 2005
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 502
    Points : 510
    Points
    510
    Par défaut
    As-tu essayé setVertical/HorizontalScrollBarPolicy ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Points : 58
    Points
    58
    Par défaut
    Merci spekal pour ta réponse.

    J'ai essayer avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    Le scrollbar horizontal s'affiche mais il ne se déclenche pas.
    Le problème vient du fait que je n'arrive pas à fixer la taille du panel pour qu'il se déclenche horizontalement.
    Au lieu de se délencher le panel s'agrandit horizontalement et je ne vois pas comment bloquer la taille.

    Quelqu'un aurait une idée.

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    appelle un revalidate sur ton scrollpane ou ajoute ton panel à ton scrollpane au dernier moment au lieu de le faire au début

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Points : 58
    Points
    58
    Par défaut
    Merci à toi sinok pour ta réponse.

    Je viens de me rendre compte quand ajoutant un splitpane horizontal séparant mes deux panel principaux center et west, cela fixe la taille du panel west et donc le scrollbar horizontal s'active.

    Donc je vais faire comme ça puisque ça marche.

    Encore merci à tous

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/01/2010, 16h41
  2. Activer automatiquement une référence si elle n'est pas activée?
    Par drthodt dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/10/2007, 18h27
  3. Réponses: 5
    Dernier message: 02/05/2006, 10h54
  4. [JScrollPane] Problème d'agencement
    Par JAVA man dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 16/08/2004, 15h30
  5. [VB6] [Système] Icones du systray qui veulent pas partir
    Par Ctof dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/10/2002, 10h41

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