2013-07-12 76 views
0

是否有辦法實現ScrollPane鼠標滾輪偵聽器?我看着幾個選項:ScrollPane鼠標滾輪收聽器

  • 視窗似乎並不具備的鼠標滾輪偵聽
  • 演奏與全球環境基金的MouseWheelHelper但是當我滾動窗格中單擊y值只改變,而不是當鼠標滾輪滾動。雖然事件正在被解僱。

另外,ScrollPane的設計沒有垂直滾動條。

回答

0

好的,這裏的神奇數字是org.eclipse.swt.widgets.Event.count。此數字告訴您「使用鼠標滾輪滾動的行數或頁數」。結合這一點,MouseWheelHelper接口我能充分利用鼠標滾輪工作滾動:

public class MyEditPart extends TreeEditPart implements MouseWheelHelper{ 
private static final int SCROLL_OFFSET = 10; 
... 
    ... 
@Override 
public void handleMouseWheelScrolled(Event event) { 
    pane.scrollVerticalTo(pane.getViewport().getVerticalRangeModel().getValue() + (event.count * SCROLL_OFFSET)); 
} 

}

什麼是整齊的是,通過改變SCROLL_OFFSET我可以控制與視口滾動速度。

的唯一的事情是檢查Event.count的定義,說:

根據事件類型,以下是正在等待可能永遠是零 在某些平臺上 油漆事件的數量,或行或頁來 滾動使用鼠標滾輪的數量,或者 鼠標已被點擊

不知道這將如何發揮出其他操作系統的次數。