Comment puis-je forcer le JScrollPane seulement de défilement verticale?
Les gars, j'ai besoin de mettre des boutons dans un jscrollpanel, mais le JScrollPane ne crée pas de faire défiler l'écran verticalement. Je suis à l'aide d'un Composite à l'intérieur de la JScrollPane qui est à l'aide de la simple FlowLayout mise en page. Comment puis-je faire la JScrollPanel pour faire défiler jusqu'à la verticale seulement??
Problème:
Solution Désirée:
OriginalL'auteur Marcos Roriz Junior | 2011-01-24
Vous devez vous connecter pour publier un commentaire.
Découvrez la Envelopper De Mise En Page
OriginalL'auteur camickr
Le fait que vous utilisez un
JScrollPane
change pas mal de choses concernant l'intérieurFlowLayout
. en effet, lorsque le FlowLayout essaie à la disposition de contenus JButtons, il utiliser pour que l'espace disponible. Dans votre cas, vous n'avez pas de limites à l'espace de la "scrollable client" de votre JScrollPane. En conséquence, compte tenu de vos FlowLayout a l'infini de l'espace, on utilise cet espace pour afficher les éléments, selon elle.Donc la solution serait de changer votre défilement client afin de limiter sa zone visible de la même manière que votre JScrollPane de
JViewport
.Cependant, vous ne serait même pas dans ce cas d'avoir votre retour, que FlowLayout ne sont pas vraiment bien gérer ce cas.
Ont été, j'ai à vous, je voudrais bien sûr choisir un autre modèle. Comme
GridLayout
ne sont pas vraiment bien poignées de frontières, je pense que la seule reasonible standard de mise en page que vous pouvez utiliser estGridBagLayout
, althgough j'ai peur de votre contenu dynamique de contraintes peut vous demander quelque chose d'encore plus personnalisable.OriginalL'auteur Riduidel
Cela permettra d'envelopper tout dans une zone de texte à la ligne suivante sans la création d'un Défilement Horizontal.
OriginalL'auteur RainMain
Utiliser le Débit modifié la Mise en page que j'ai posté dans cette réponse: Comment puis-je laisser JToolBars un retour à la ligne (FlowLayout) sans qu'il soit caché ty Composite ci-dessous?
Il sera de retour à la ligne et votre barre de défilement doit faire défiler l'écran verticalement.
OriginalL'auteur jzd
JScrollPanel
.OriginalL'auteur emeraldjava
Ou vous pouvez utiliser un JList.
Voir ce site pour plus d'info: http://docs.oracle.com/javase/tutorial/uiswing/components/list.html
la classe exemple: ListDialog utilise uniquement une barre de défilement verticale, lorsque la fenêtre est redimensionnée ou les éléments ne correspondent pas à la vue.
OriginalL'auteur SuperRetro