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 :

Ajouter un jpanel à un scrollpane


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 67
    Par défaut Ajouter un jpanel à un scrollpane
    Salut,
    Je voudrais ajouter un jpanel à un scrollpane, voilà mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    JScrollPane jScrollPane1 = new JScrollPane();
    JPanel jPanel2 = new JPanel(); //Le panel que j'ajoute au scrollpane
    jScrollPane1.setBounds(new Rectangle(361, 94, 339, 485));
    jPanel2.setBorder(BorderFactory.createEtchedBorder());
    jPanel2.setLayout(null);
    jScrollPane1.getViewport().add(jPanel2, null);
    jPanel1.add(jScrollPane1, null); //Le panel principal
    le problème est que j'ai le scrollpane qui marche uniquement lorsque j'enlève l'instruction:
    jPanel2.setLayout(null);

    Mais j'ai besoin que le setLayout du panel soit à null, parce que je crée dynamiquement des composants que je lui rajoute après.

    Comment faire pour que ça fonctionne lorsque je garder le setLayout à null.
    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    d'abord, éviter le layout à null, ça cause beaucoup plus de problèmes que ça ne donne l'impression d'en résoudre. (et y a pas de raisons que l'ajout de composant dynamiquement justifie le null).

    Pour ce qui est de ton affichage. Comme ton panel a un layout à null, il n'a pas de taille max / min / preferred. Dans ces conditions, le scrollpane n'arrive vraisemblablement pas à le redimensionner (ou pire déclenche un nullpointerexception...)

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 67
    Par défaut
    Merci tchize pour ta réponse.
    J'ai donné des taille max / min / preferred à mon jpanel, mais ça ne donne rien. J'ai le jscrollpane qui apparait dans le jpanel mais pas la barre de défilement.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    que dit getPreferedSize() sur ton panel? Y a-t-il une exception dans la console?

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 67
    Par défaut
    getPreferedSize donne : java.awt.Dimension[width=1000,height=1000]
    Il n'y a pas d'exception dans la console. Le scrollpane n'apparait pas dans le panel, et meme si je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.
                                                VERTICAL_SCROLLBAR_ALWAYS);
    le scrollpane apparait dans le panel mais pas sa barre de défilement, le scrollpane agit donc comme si la taille du panel n'a pas dépassé l'espace que je lui ai réservé.

  6. #6
    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
    Je confirme, le NullLayout et les JScrollPane ne sont pas potes.
    Je te conseille plutôt d'utiliser un layout un tant soit peu correct, ça te permettra d'avoir des interfaces graphiques correctement faites et redimensionnables sans le moindre cout s'ils sont utilisés correctement.

Discussions similaires

  1. ajouter un JPanel dans un autre suite à un clic souris
    Par j_esti dans le forum AWT/Swing
    Réponses: 0
    Dernier message: 22/07/2013, 19h36
  2. Réponses: 1
    Dernier message: 26/03/2012, 17h20
  3. Problème d'ajout de JPanel dans un Onglet (JTabbedPane)
    Par SoGeek dans le forum Composants
    Réponses: 1
    Dernier message: 04/09/2010, 15h41
  4. ajouter une jpanel dans le bon emplacement dans une jframe
    Par jlassiramzy dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 31/07/2006, 17h37
  5. Ajout de JPanel dans un JFrame
    Par Invité dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 13/04/2006, 12h22

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