SWT standalone scrollbar widget

2019-04-11 04:10发布

Is there a way to create a "standalone" scrollbar in SWT? I would like to have a scrollbar which I have full control over myself and use it to control the contents of another widget in a way which isn't possible with the "built-in" scrollbars in the Table widget, for example.

标签: swt scrollbar
4条回答
倾城 Initia
2楼-- · 2019-04-11 04:40
兄弟一词,经得起流年.
3楼-- · 2019-04-11 04:50

I agree that you probably can't get a scrollbar alone, but I've worked around that with using a Canvas ( or ScrolledComposite ) and then set the content of that composite to exactly the same size as the ScrolledComposite.getClientArea(). That may require a bit fine tuning and you have to make sure that the content component resizes together with the ScrolledComposite, but should be possible.

You can then get the Scrollbars of the ScrolledComposite and use them independently of the ScrolledComposite.

查看更多
Juvenile、少年°
4楼-- · 2019-04-11 04:52

There is a better solution!

If you use a ScrolledComposite and use the ScrollBars, the setLocation(int,int) function is called of the internal control to adjust it to the scrollbar position.

If you override this function to really set the location to (0,0), the internal control will not be scrolled anymore.

查看更多
5楼-- · 2019-04-11 05:07

No, I don't think so. If you look at the jni call for the table, you'll see that it's just a flag into the native call. I'm pretty sure that you can't do what you ask. You could however use Draw2D to get this done fairly quickly. Create a FigueCanvas with eith an XYLayout or a ColumnLayout (I think that's what it's called) and off you go.

查看更多
登录 后发表回答