2009-10-30 7 views
0

J'ai un JScrollPane avec un diagramme à l'intérieur. La méthode paintComponent du diagramme est surchargée. Maintenant, quand le diagramme se peint, le scrollpane défile vers le bas.Comment empêcher JScrollPane de défiler vers le bas sur repaint?

Comment empêcher le défilement? Je veux que le scrollpane/barre de défilement maintienne sa position lors de la peinture.

Merci d'avance.

Répondre

0

Je n'ai jamais vu cela se produire. C'est probablement à cause d'un code que vous avez ajouté à votre méthode paintComponent().

Vous pouvez essayer de repeindre (Rectangle) pour limiter le repeindre.

Si vous avez besoin de plus d'aide poster votre SSCCE qui démontre le problème.

+0

Merci d'avoir répondu. J'aime poster SSCCE. Malheureusement, dans ce cas, le diagramme est basé sur plusieurs superclasses héritées. Il a des milliers de lignes de code. Il n'est pas possible de couper facilement les pièces. Donc, si ce n'est vraiment pas un problème du scrollpane/scrollbar lui-même, la scrollpolicy ou quelque chose comme ça, je dois l'analyser par moi-même. –

0

Il n'y a aucun comportement dans un composant Swing typique qui le ferait défiler lorsque paintComponent est appelé. Je regarderais dans votre code de peinture personnalisé pour les appels à une méthode appelée scrollRectToVisible. C'est un moyen courant de faire défiler un composant dans son volet.

Questions connexes