Vejo o método JScrollPane.setWheelScrollingEnabled(boolean)
para ativar ou desativar a rolagem da roda do mouse. Existe alguma maneira de ajustar a velocidade da rolagem, no entanto? É, na minha opinião, ridiculamente lento. Não importa o tamanho da janela, a rolagem é de cerca de três pixels por clique. Eu gostaria que fosse muito mais do que isso.
Alguma ideia?
java
swing
scroll
jscrollpane
mousewheel
Erick Robertson
fonte
fonte
Respostas:
Você pode tentar isto:
fonte
Uma maneira seria definir o incremento da unidade da barra de rolagem para um número maior:
fonte
Se você deseja definir a quantidade de rolagem da roda do mouse independentemente da unidade da barra de rolagem, você pode usar o Controlador da roda do mouse .
fonte
Você pode fazer isso definindo o incremento da unidade para um ScrollBar. Veja o exemplo.
fonte
Uma pesquisa rápida trouxe esta página: Como aumentar a velocidade de rolagem JScrollPane para usuários da roda do mouse . Acontece que o incremento de rolagem é uma propriedade da própria barra de rolagem (
JScrollBar.setUnitIncrement
) e não do painel de rolagem.fonte
Eu estava tentando encontrar um método melhor para ler 32.000 linhas em meu ScrollPane
tente isso
scrollPane.getVerticalScrollBar().setUnitIncrement(100); scrollPane.getViewport().putClientProperty("EnableWindowBlit", Boolean.TRUE); scrollPane.getViewport().setScrollMode(JViewport.BACKINGSTORE_SCROLL_MODE);
fonte
Para um controle mais preciso, o componente que está sendo rolado pode implementar a interface com rolagem. Isso permite que você calcule dinamicamente o tamanho da unidade de rolagem (botões de seta e teclas de seta) e o tamanho do bloco de rolagem (roda do mouse).
Como usar os painéis de rolagem
fonte
Você também pode usar isso.
SwingUtil.setScrollUnitIncrement(yourScrollPane);
fonte
Minha solução para acelerar a rolagem:
Adicione o parâmetro da barra de rolagem:
scrollPane.getVerticalScrollBar (). putClientProperty ("JScrollBar.fastWheelScrolling", true);
Implemente um ouvinte de roda (no componente dentro de jViewport):
O aumento de wheelRotation é necessário: caso contrário, o número de linhas roladas será limitado ao tamanho da tela.
fonte