2013-12-12 2 views
0

Можно ли указать размер шага JScrollPane при его перетаскивании?Размер шага JScrollPane при перетаскивании

Я знаю setUnitIncrement и setBlockIncrement, но они не работают при перетаскивании полосы прокрутки.

Edit: AdjustmentListener

final AdjustmentListener myAdjustmentListener = new AdjustmentListener() { 
    @Override 
    public void adjustmentValueChanged(AdjustmentEvent e) { 
     if (e.getAdjustmentType() == AdjustmentEvent.TRACK){ 
      e.getAdjustable().setUnitIncrement(500); 
      e.getAdjustable().setBlockIncrement(500); 
     } 
    } 
}; 

ответ

1

Установка setUnitIncrement и setBlockIncrement значения только изменяет скорость прокрутки при прокрутке с помощью колеса мыши, клавиш со стрелками, и полосы прокрутки стрелок. Эти значения не изменяют скорость прокрутки при перетаскивании полос прокрутки.

Однако AdjustmentListener можно добавить в полосу прокрутки, чтобы прослушивать движения полосы прокрутки.

+0

Да, это контролируется пропорциональным значением Rectangle от JViewport v.s. JComponent в JScrollPane – mKorbel

+0

Я отредактировал свой ответ и добавил AdjustmentListener, который я сейчас использую. Какое событие следует использовать для прослушивания движений полосы прокрутки? –

0

Настройщик должен сделать магию для вас. Вы смотрели: How to make JScrollPane scroll 1 line per mouse wheel step?

+0

Да, мой текущий '' AdjustmentListener' получается из этого. Я отредактировал свой оригинальный пост и добавил текущую версию слушателя. Но он охватывает только стрелки прокрутки мыши и стрелки прокрутки, а не перетаскивание самой панели. –

Смежные вопросы