使用獨立SWT滾動條是一種破解(使用this workaround),但它可以完成。這裏有一個片段:SWT滾動條上的鼠標事件
ScrolledComposite scrolledComposite = new ScrolledComposite(
parent, SWT.V_SCROLL);
ScrollBar scrollbar = scrolledComposite.getVerticalBar();
Shell tip = new Shell(UserInterface.getShell(), SWT.ON_TOP
| SWT.NO_FOCUS | SWT.TOOL);
// ..stylize and fill the tooltip..
現在我想要做的是監視用戶與滾動條交互時。特別是,我想知道用戶何時拖動滾動條—以及何時發佈了—以顯示Office 2007樣式的工具提示,以顯示滾動條位置與哪個頁面相對應。
目前,我有以下的代碼,其顯示工具提示:
scrollbar.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent event) {}
public void widgetSelected(SelectionEvent event) {
tip.setVisible(true);
}
}
這似乎邏輯然後有工具提示消失時釋放鼠標按鈕:
scrollbar.addListener(SWT.MouseUp, new Listener() {
public void handleEvent(Event event) {
tip.setVisible(false);
}
});
但是,scrollbar
和scrolledComposite
似乎都不會對SWT.MouseUp
ev當用戶與滾動條交互時。
我目前有一個解決方法,在超時後隱藏提示,但我對此不滿意。任何見解都將非常感謝!
優秀!我會看看早晨是否足夠第一件事。 – 2009-11-25 23:36:26
工程就像一個魅力!非常感謝你! – 2009-11-26 09:21:40