Java de défilement JScrollPane avec un Composite à l'intérieur vers le bas
J'ai un JScrollPane, avec une très forte Composite à l'intérieur, qui est modifiée de façon dynamique, les éléments ajoutés à sa fin. Ce que je veux, est de faire défiler vers le bas de susmentionnés JScrollPane pour le nouvellement ajouté des éléments à être visible instantanément sur plus (ils ne sont pas annexés à l'défilement volet directement, mais à son Composite, et sont objets privés, ne peut pas être référencé.
Comment puis-je tout simplement que faites défiler le volet de défilement vers le bas?
Merci à l'avance!
Vous devez vous connecter pour publier un commentaire.
JComponent.scrollRectToVisible(Rectangle)
. Appel sur leJPanel
instance.E. G.
Capture d'écran
E. G. 2
Cela par exemple est basé sur Vincent réponse, à utiliser
JScrollPane.getVerticalScrollBar()
.setValue(hauteur)
. Oùheight
est la préférée de la hauteur du panneau en pixels.setValue(100)
avecsetValue(height)
il défile comme par l'attente. Merci, vous explique la nature de la valeur mieux que les JavaDocs faire. Même après re-lecture de la doc., Je ne vois rien que notamment les règles qu'il serait peut-être référence à un pourcentage. (Bien que le rasoir d'Occam pourrait avoir suggéré une valeur absolue.)setValue
méthode ne fonctionnait pas avecJTable
il a fini montrant la dernière rangée. MaisscrollRectToVisible
a bien fonctionné.scrollRectToVisible(...) et la barre de défilement.setValue(...) sont les solutions générales.
Vous pouvez être intéressé par Défilement d'un Formulaire qui assure que lors de l'onglet à un composant de la forme permettra de faire défiler automatiquement à assurez-vous que le composant sera visible dans le composant scrollpane. Derrière les coulisses, il utilise scrollRectToVisible().
Un moyen simple de déplacer la barre de défilement vers le bas est de définir sa valeur à 100 comme ceci:
Ce qui les amènent à se déplacer vers le bas de la fenêtre d'affichage. Vous pouvez ajouter cette une fois que le composant est ajouté au panneau.
C'est ainsi que j'ai faites défiler vers le bas de la programmation.
J'aime la façon dont il fait défiler vers le bas plutôt en douceur au lieu de sauter immédiatement.