关于SWT的滚动面板最长为32768解决方案

    最近接手一个java的桌面应用项目,需要对这个项目做二次开发,同时也是第一次接触swt。

    基本上很多项目,都会需要做产品展示列表,通常都是采用滚动面板+滚动条的方式做滚动显示。但是这个swt就有个限制,里面控件的location的值是short类型,意味着最大不能超过32767,超过后你再setLocation也是只能是在32767这个位置。在数据量比较大的时候,排序下去明显不够排。于是想到一个办法来避开这个限制:做一个ScrolledComposite,设置大小只显示滚动条,它的面板就自己做一个普通的Composite来控制显示。接着做个算法。使Composite在滚动条滚动时的Location大于30000的时候,重要归零开始计算。这样就可以实现无限地滚动。    

    只做个思路的记录,代码无法提供,一来写得也比较多,结合其他功能,二来项目也不允许公开。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。