SWT standalone scrollbar widget

放肆的年华 提交于 2019-12-21 20:35: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.


回答1:


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.




回答2:


You can use the SWT Slider widget for this purpose. SWT Snippet number 17 for code Example: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/tree/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet17.java




回答3:


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.




回答4:


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.



来源:https://stackoverflow.com/questions/1675514/swt-standalone-scrollbar-widget

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!