Hello,
Je developpe une api d'édition de texte, le panel principal est composé de 3 JTextPane, 2 latéraux affichant numéros de ligne et erreurs de syntaxe, et 1 central pour l'édition en elle même. Je bourre le tout dans un bon vieux JScrollPane.
Le problème de l'autoscroll survient quand l'utilisateur saute une ligne, mes KeyListeners rajoutent une entrée dans chacun des 2 JTextPane latéraux (correspondant au num et err de syntaxe de la ligne), du coup le JScrollPane autoscroll tout en bas pour montrer la nouveauté.
Je règle le problème partiellement en réglant la position des JScrollBar a chaque saut de ligne dans mes KeyListener. A l'aide de scrollRectToVisible ou mieux en sélectionnant une partie adéquat du texte d'un des 2 JTextPane latéraux, comme ca les ScrollBar se repositionnent correctement automatiquement.
Toutefois, ce n'est pas très esthétique, à chaque saut de ligne la scrollbar verticale oscille, et on peut facilement faire planter l'app en restant appuyé sur entrée. Je me suis tourné vers les AdjustmentListener et pas mal de méthode de la classe JScrollPane mais je bloque.. Des astuces?
Partager