Veo el método JScrollPane.setWheelScrollingEnabled(boolean)
para habilitar o deshabilitar el desplazamiento de la rueda del mouse. Sin embargo, ¿hay alguna forma de ajustar la velocidad del desplazamiento? En mi opinión, es ridículamente lento. No importa el tamaño de la ventana, el desplazamiento es de unos tres píxeles por clic. Me gustaría que fuera mucho más que eso.
¿Algunas ideas?
java
swing
scroll
jscrollpane
mousewheel
Erick Robertson
fuente
fuente
Respuestas:
Puedes probar esto:
fuente
Una forma sería establecer el incremento unitario de la barra de desplazamiento en un número mayor:
fuente
Si desea configurar la cantidad de desplazamiento de la rueda del mouse independientemente de la unidad de la barra de desplazamiento, puede usar el controlador de la rueda del mouse .
fuente
Puede hacer esto configurando el incremento de unidad para ScrollBar. Vea el ejemplo.
fuente
Una búsqueda rápida mostró esta página: Cómo aumentar la velocidad de desplazamiento de JScrollPane para los usuarios de la rueda del mouse . Resulta que el incremento de desplazamiento es una propiedad de la barra de desplazamiento en sí (
JScrollBar.setUnitIncrement
) y no del panel de desplazamiento.fuente
Estaba tratando de encontrar un método mejor para leer 32000 líneas en mi ScrollPane
prueba esto
scrollPane.getVerticalScrollBar().setUnitIncrement(100); scrollPane.getViewport().putClientProperty("EnableWindowBlit", Boolean.TRUE); scrollPane.getViewport().setScrollMode(JViewport.BACKINGSTORE_SCROLL_MODE);
fuente
Para un control más preciso, el componente que se desplaza puede implementar la interfaz Scrollable. Esto le permite calcular dinámicamente el tamaño de la unidad de desplazamiento (botones de flecha y teclas de flecha) y el tamaño del bloque de desplazamiento (rueda del mouse).
Cómo utilizar los paneles de desplazamiento
fuente
También puedes usar esto.
SwingUtil.setScrollUnitIncrement(yourScrollPane);
fuente
Mi solución para acelerar el desplazamiento:
Agregue el parámetro de la barra de desplazamiento:
scrollPane.getVerticalScrollBar (). putClientProperty ("JScrollBar.fastWheelScrolling", verdadero);
Implemente un oyente de rueda (en el componente dentro de jViewport):
El aumento de wheelRotation es necesario: de lo contrario, el número de líneas desplazadas se limitará al tamaño de la pantalla.
fuente