【发布时间】:2009-11-04 17:47:13
【问题描述】:
有没有办法在 SWT 中创建“独立”滚动条?我想要一个滚动条,我可以完全控制自己,并用它来控制另一个小部件的内容,例如,表格小部件中的“内置”滚动条是不可能的。
【问题讨论】:
有没有办法在 SWT 中创建“独立”滚动条?我想要一个滚动条,我可以完全控制自己,并用它来控制另一个小部件的内容,例如,表格小部件中的“内置”滚动条是不可能的。
【问题讨论】:
我同意您可能无法单独获得滚动条,但我已经使用 Canvas(或 ScrolledComposite)解决了这个问题,然后将该组合的内容设置为与 ScrolledComposite.getClientArea( )。这可能需要进行一些微调,并且您必须确保内容组件与 ScrolledComposite 一起调整大小,但应该可以。
然后您可以获取 ScrolledComposite 的 Scrollbars 并独立于 ScrolledComposite 使用它们。
【讨论】:
您可以为此目的使用 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
【讨论】:
不,我不这么认为。如果您查看表的 jni 调用,您会发现它只是本地调用的一个标志。我很确定你不能按照你的要求去做。但是,您可以使用 Draw2D 相当快地完成这项工作。使用XYLayout 或ColumnLayout(我想这就是它的名称)创建一个FigueCanvas,然后就可以了。
【讨论】:
有更好的解决方案!
如果使用 ScrolledComposite 并使用 ScrollBars,则调用内部控件的 setLocation(int,int) 函数将其调整到滚动条位置。
如果你重写这个函数来真正将位置设置为(0,0),内部控件将不再滚动。
【讨论】: