Partage
  • Partager sur Facebook
  • Partager sur Twitter

Position JScrollPane

    19 mars 2010 à 19:22:53

    Bonsoir,
    Auriez-vous une solution pour placer un JScrollPane à l'extérieur de mon composant ?

    Il se trouve qu'une fois mon texte (long) est chargé, la barre verticale apparait.
    Très bien.
    Sauf qu'elle utilise l'espace de mon composant ... et provoque l'apparition de la barre horizontale (étant donné que mes composants n'ont plus l'espace nécessaire pour l'affichage horizontal.)

    Merci d'avance,
    Draewil.

    Image :


    Image utilisateurImage utilisateur

    • Partager sur Facebook
    • Partager sur Twitter
      19 mars 2010 à 21:09:28

      Si j'ai bien compris tu veux que la barre horizontale n'apparait pas ?
      Si c'est le cas il suffit de faire
      monScroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
      

      Sinon ré-explique .</span>
      • Partager sur Facebook
      • Partager sur Twitter
        20 mars 2010 à 15:58:10

        Non, pour mieux comprendre, j'ai mis les deux images.

        La seconde présente un texte qui a assez de place pour s'afficher verticalement, la barre verticale ne s'affiche donc pas, comme prévu.

        Cependant, la première image présente un texte, qui lui, n'a pas assez de place verticalement, la barre s'affiche donc.

        Cependant, cette barre de scroll se situe dans le composant, celui n'a alors plus assez de place pour s'afficher horizontalement (la verticale pique une dizaine de pixel), et donc la barre horizontale s'affiche.

        Comment faire pour que la barre de scrolling verticale se place à l'extérieur du composant ?
        Du moins, qu'elle ne consomme pas l'espace de celui-ci.
        • Partager sur Facebook
        • Partager sur Twitter
          20 mars 2010 à 18:41:20

          Bon tu peut mettre ton composant dans un JPanel et ajouter tes scrolls au JPanel et non pas aux composant
          • Partager sur Facebook
          • Partager sur Twitter
            21 mars 2010 à 22:34:28

            Hélas, cela ne marche pas car seul le JEditorPane n'aurait pas assez de place pour afficher verticalement. Celui-ci étant limité en place, il ne débordera jamais du JPanel, qui n'affichera donc jamais la scroll correspondante.

            Du moins, cela peut marcher seulement si je ne définis aucune largeur à mon composant, ce qui s'avère inintéressant dans mon cas.
            • Partager sur Facebook
            • Partager sur Twitter
              21 mars 2010 à 22:45:00

              Et en faisant ça ? :

              tonTextArea.setLineWrap(true);
              tonTextArea.setWrapStyleWord(true);
              tonScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
              
              • Partager sur Facebook
              • Partager sur Twitter
                21 mars 2010 à 22:47:54

                Mon composant est un JEditorPane et non un JTextArea :p

                Sinon, connaitriez-vous un moyen de modifier seulement la largeur sans devoir définir la longueur ?
                • Partager sur Facebook
                • Partager sur Twitter

                Position JScrollPane

                × 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