以编程方式使用JScrollBar

问题描述:

如何基于滚轮鼠标旋转量以编程方式移动JScrollBar以编程方式使用JScrollBar

+0

它会自动处理。 – 2010-09-21 09:15:29

+0

是的,但我希望在用户与另一个组件进行交互时以编程方式执行此操作(例如,JSlider ...) – xdevel2000 2010-09-21 09:16:46

可以使用的JScrollBar的setValue方法来设置滚动条的位置。

或者,您可以使用JScrollBar后面Model的方法;例如:bar.getModel().setValue(position)

您可以使用JScrollBar的(或从模型)的getMinimumgetmaximum方法检查setValue的有效值。

的Javadoc应该帮助更多:JScrollBar

发生这种情况,要么 WHEEL_UNIT_SCROLL或 WHEEL_BLOCK_SCROLL类型的滚动,是平台 依赖性。鼠标滚轮的数量也是平台 的依赖。滚动的 的类型和数量都可以通过平台的platform.control面板的鼠标 控制面板进行设置。

here

试试这个:

private void scrollToBottom() { 
    int tamanio = scrollPane.getVerticalScrollBar().getMaximum(); 
    scrollPane.getVerticalScrollBar().getModel().setValue(tamanio); 
} 

private void scrollToTop() {  
    scrollPane.getVerticalScrollBar().getModel().setValue(0); 
} 

private void scrollToNext() { 
    int posicion = scrollPane.getVerticalScrollBar().getModel().getValue(); 
    int altura = scrollPane.getHeight(); 
    scrollPane.getVerticalScrollBar().getModel().setValue(posicion+altura); 
} 

private void scrollToBack() { 
    int posicion = scrollPane.getVerticalScrollBar().getModel().getValue(); 
    int altura = scrollPane.getHeight(); 
    scrollPane.getVerticalScrollBar().getModel().setValue(posicion-altura); 
}