SWT 独立滚动条小部件
Posted
技术标签:
【中文标题】SWT 独立滚动条小部件【英文标题】:SWT standalone scrollbar widget 【发布时间】:2009-11-04 17:47:13 【问题描述】:有没有办法在 SWT 中创建“独立”滚动条?我想要一个滚动条,我可以完全控制自己,并用它来控制另一个小部件的内容,例如,表格小部件中的“内置”滚动条是不可能的。
【问题讨论】:
【参考方案1】:我同意您可能无法单独获得滚动条,但我已经使用 Canvas(或 ScrolledComposite)解决了这个问题,然后将该组合的内容设置为与 ScrolledComposite.getClientArea( )。这可能需要进行一些微调,并且您必须确保内容组件与 ScrolledComposite 一起调整大小,但应该可以。
然后您可以获取 ScrolledComposite 的 Scrollbars 并独立于 ScrolledComposite 使用它们。
【讨论】:
【参考方案2】:您可以为此目的使用 SWT Slider
小部件。
SWT Snippet number 17 代码示例:http://git.eclipse.org/c/platform/eclipse.platform.swt.git/tree/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet17.java
【讨论】:
我认为比 derBiggi 的 解决方案要好。【参考方案3】:不,我不这么认为。如果您查看表的 jni 调用,您会发现它只是本地调用的一个标志。我很确定你不能按照你的要求去做。但是,您可以使用 Draw2D 相当快地完成这项工作。使用XYLayout
或ColumnLayout
(我想这就是它的名称)创建一个FigueCanvas
,然后就可以了。
【讨论】:
【参考方案4】:有更好的解决方案!
如果使用 ScrolledComposite 并使用 ScrollBars,则调用内部控件的 setLocation(int,int) 函数将其调整到滚动条位置。
如果你重写这个函数来真正将位置设置为(0,0),内部控件将不再滚动。
【讨论】:
你能提供一些代码吗?我真的不明白我必须做什么才能自己获得滚动条。 :-(以上是关于SWT 独立滚动条小部件的主要内容,如果未能解决你的问题,请参考以下文章