Partage
  • Partager sur Facebook
  • Partager sur Twitter

JScrollPane... qui ne scroll rien du tout

Sujet résolu
Anonyme
    1 décembre 2016 à 16:42:59

    Bonjour!

    J'ai dans l'idée de faire un menu pour faire des QCM, l'utilisateur choisi un nombre de question à générer pour son QCM, le programme les crées et il n'a plus qu'à les remplir

    Principe relativement pratique sauf s'il veut faire... disons 50 questions, alors là c'est illisible il y en aurait partout. J'ai donc eu l'idée de mettre ces questions dans un JScrollPane, afin qu'il puisse en afficher autant que souhaiter et naviguer entre elles sans exploser la mise en forme

    Pour ça j'ai fait une classe étendue de JPanel qui contient les infos à remplir par question (à savoir son titre, les réponses justes et fausses). Ensuite j'ajoute tout ça dans un gridbag pour les placer et je mets le gridbag en question dans mon jscrollpane sauf que au résultat aucune barre de scroll et en effet un affichage totalement chaotique..

    J'ai été chercher dans la doc Oracle sans grand succès c'est pourquoi je me tourne vers vous, mon erreur étant surement de compréhension..

    Pour ce qui est du code:

     pan_questions = new JPanel(new GridBagLayout());
            for(int i=0; i<nbQuestions; i++){
                pan_questions.add(new PanelQuestions(i+1), placer(0, i));
            }
            scrollPane = new JScrollPane(pan_questions);

    (ma méthode placer(x,y) place en x et y le composant avec un GridBagConstraints)

    Merci d'avance pour votre aide !

    EDIT:
    PanelQuestion prend en paramètre le numéro de la question pour laquelle il permet d'ajouter les informations

    -
    Edité par Anonyme 1 décembre 2016 à 16:47:04

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      2 décembre 2016 à 9:07:11

      Bonjour,

      Tu n'as pas ajouté le scroll à ton panel.

      Pour l'objet ScrollPane:
      - Tu le déclares en mettant ce dont tu veux qu'il scroll (genre une image trop grande).
      - Ensuite, tu l'ajoutes à un panel pour pouvoir l'afficher.

      -
      Edité par Anonyme 2 décembre 2016 à 9:07:23

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        2 décembre 2016 à 10:35:49

        Merci de ta réponse !

        J'ai donc fait ceci:

        pan_questions = new JPanel(new GridBagLayout());
                for(int i=0; i<nbQuestions; i++){
                    pan_questions.add(new PanelQuestions(i+1), placer(0, i));
                }
                scrollPane = new JScrollPane(pan_questions);
        // ...
        pan_Menu.add(scrollPane, placer(0,2));
        // ...
        pan_background.add(pan_Menu, placer(0, 0));
        v_ViewParent.setContentPane(pan_background);

        Et l'affichage ne se fait toujours pas avec la possibilité de scroll, malgré la taille de pan_questions qui dépasse largement celui de ma fenêtre.. Quelque chose que je n'ai encore pas compris?

        Merci !

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          5 décembre 2016 à 8:36:38

          Finalement j'ai trouvé, l'erreur était en effet stupide, il suffisait de lui donner une taille...

           for(int i=0; i<nbQuestions; i++){
                      PanelQuestions panQ = new PanelQuestions(i+1);
                      pan_questions.add(panQ, placer(0, i));
                      listePan_questions.add(panQ);
                  }
                  scrollPane = new JScrollPane(pan_questions);
                  scrollPane.setPreferredSize(new Dimension(450, 750));



          • Partager sur Facebook
          • Partager sur Twitter

          JScrollPane... qui ne scroll rien du tout

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown