分享

SWT滚动窗口——ScrolledComposite

 univasity 2012-07-24

滚动窗口类:org.eclipse.swt.custom.ScrolledComposite

实现方法:

1.实例化ScrolledComposite
ScrolledComposite   sc = new ScrolledComposite(shell,SWT.V_SCROLL|SWT.H_SCROLL|SWT.BORDER);
...//设置其他属性,如果父类shell没有使用layout那么不要忘记设置sc.setBounds
sc.setExpandHorizontal(true);
sc.setExpandVertical(true);
这两个属性设置了横向纵向可以扩展,即允许滚动的方向。
2.实例化内容,在这里我们使用的是Composite
Composite c = new Composite(shell,SWT.NONE);
....//设置你的 Composite属性
3.向ScrolledComposite中添加内容
sc.setContent(c);
//以上代码是,只需要执行一次即可,相当于初始化

4.滚动代码,需要在每一个可能改变滚动内容(c)的地方被调用,最好能写成方法方便调用。
sc.setMinSize(maxCWidth,maxCHeight);//将改变后滚动内容(c)的大小作为sc的最小尺寸,不要忘记长宽各稍微比实际大小大一点,这样滚动的效果比较好
c.setSize(c.computeSize(SWT.DEFAULT, SWT.DEFAULT));//这句非常重要起到重新计算滚动条的作用

OK,可是实验一下你的代码了。

BTW:如果需要得到c在sc中已经滚动的偏移量请调用sc.getOrigin()

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多