Je vois la méthode JScrollPane.setWheelScrollingEnabled(boolean)
pour activer ou désactiver le défilement de la molette de la souris. Existe-t-il cependant un moyen d'ajuster la vitesse du défilement? C'est, à mon avis, ridiculement lent. Quelle que soit la taille de la fenêtre, le défilement est d'environ trois pixels par clic. J'aimerais que ce soit bien plus que ça.
Des idées?
java
swing
scroll
jscrollpane
mousewheel
Erick Robertson
la source
la source
Réponses:
Vous pouvez essayer ceci:
la source
Une façon serait de définir l'incrément d'unité de la barre de défilement sur un nombre plus grand:
la source
Si vous souhaitez régler la quantité de défilement de la molette de la souris indépendamment de la quantité de la barre de défilement, vous pouvez utiliser le contrôleur de la molette de la souris .
la source
Vous pouvez le faire en définissant l'incrément d'unité pour une ScrollBar. Voir l'exemple.
la source
Une recherche rapide a fait apparaître cette page: Comment augmenter la vitesse de défilement JScrollPane pour les utilisateurs de la molette de la souris . Il s'avère que l'incrément de défilement est une propriété de la barre de défilement elle-même (
JScrollBar.setUnitIncrement
) et non du volet de défilement.la source
J'essayais de trouver une meilleure méthode pour lire 32000 lignes dans mon ScrollPane
essaye ça
scrollPane.getVerticalScrollBar().setUnitIncrement(100); scrollPane.getViewport().putClientProperty("EnableWindowBlit", Boolean.TRUE); scrollPane.getViewport().setScrollMode(JViewport.BACKINGSTORE_SCROLL_MODE);
la source
Pour un contrôle plus précis, le composant en cours de défilement peut implémenter l'interface Scrollable. Cela vous permet de calculer dynamiquement la taille de l'unité de défilement (boutons fléchés et touches fléchées) et la taille du bloc de défilement (molette de la souris).
Comment utiliser les volets de défilement
la source
Vous pouvez également l'utiliser.
SwingUtil.setScrollUnitIncrement(yourScrollPane);
la source
Ma solution pour accélérer le scroll:
Ajouter le paramètre de la barre de défilement:
scrollPane.getVerticalScrollBar (). putClientProperty ("JScrollBar.fastWheelScrolling", true);
Implémentez un écouteur de roue (sur le composant dans jViewport):
L'augmentation de wheelRotation est nécessaire: sinon le nombre de lignes défilées sera limité à la taille de l'écran.
la source