JScrollPaneのスクロールバーの矢印を使用してスクロールする(または矢印キーのキーバインディングを設定する)と、ビューポートが1増分移動し、一時停止してからスムーズにスクロールします。私が遭遇したほとんどのスクロールバーは同じように動作します。わずかな動き、一時停止、そしてより高速な連続スクロールがあります。スクロールが最初から最後までスムーズになるように、一時停止を回避する方法はありますか?
2210 次
2 に答える
6
重要なイベントの初期遅延と繰り返し率は、ホストオペレーティングシステムによって指定されます。ユーザーは、ホストの(プラットフォームに依存する)設定コントロールパネルでデフォルト値を調整することがよくあります。同様に、プラットフォームのサブクラスはBasicScrollBarUI
、スロットルをさらに調整する場合がありcom.apple.laf.AquaScrollBarUI
ますjavax.swing.plaf.metal.MetalScrollBarUI
。
これらの設定は深く根付いているか、高度にパーソナライズされている可能性があるため、任意の変更が受け入れられない可能性があります。
于 2011-08-24T09:43:42.950 に答える
4
はBasicScrollBarUI
、スクロールを実行するタイマーを設定する責任があります。
private final static int scrollSpeedThrottle = 60; // delay in milli seconds
...
scrollListener = createScrollListener();
scrollTimer = new Timer(scrollSpeedThrottle, scrollListener);
scrollTimer.setInitialDelay(300); // default InitialDelay?
繰り返し率が初期遅延よりも速いことがわかります。
したがって、カスタムスクロールバーUIを作成し、そのコードをオーバーライドする必要があると思います。
于 2011-08-24T05:08:37.407 に答える