java – 以编程方式水平滚动一个SWT表

前端之家收集整理的这篇文章主要介绍了java – 以编程方式水平滚动一个SWT表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Similar question,但不完全一样.

table.showColumn()是有帮助的,但滚动只具有列宽的粒度.但是我想要更精确地控制滚动位置.

请考虑以下用例.我有两个表,我知道的宽度相同,列宽相同.而且我想实现某种滚动同步器,以便当用户滚动一个表(水平)时,另一个表滚动到同一个位置.

提前谢谢了!

Stackoverflow岩石.

编辑:

On the Eclipse forum似乎有同样的问题和一些工作思路,但没有解决.

编辑:
我在Windows上发现了这种行为

解决方法

恐怕在Windows Vista / 7中也无法获得令人满意的结果,但是觉得我越来越近了.

我相信你将不得不通过使用table.getHorizo​​ntalBar()来获取表的横向滚动条.然后,您可以指定scrollbar.setSelection()使其移动到指定的位置.

这是我被卡住的地方.不知何故,您必须通知表或ScrollBar该值已更改.我尝试过从update()到notifyListener(),但没有骰子.似乎这只是一个布局问题,但layout()也没有任何影响.

顺便提一下,请记住,ScrollBar的父类(Scrollable)类型不像我预期的那样是ScrolledComposite,但实际上是Table本身.

我希望这给你一些想法,并帮助你找到一个解决方案.如果是这样,请让我知道,因为它现在也在欺骗我!

猜你在找的Java相关文章