如何使ScrolledComposite随着窗体大小的变化而变化?

angel_xiaa 2012-04-21 10:06:23
最近使用滚动面板,现已基本能实现显示出滚动条,部分代码如下。

Composite com = new Composite(com_Content,SWT.NONE);
FillLayout gl_com = new FillLayout();
com.setLayout(gl_com);

final ScrolledComposite sc = new ScrolledComposite(com,SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
FillLayout fl = new FillLayout();
sc.setLayout(fl);
sc.setExpandHorizontal(true);
sc.setExpandVertical(true);

final Composite comSC = new Composite(sc,SWT.NONE);
comSC.setLayout(new FillLayout());

Group grpTextD = new Group(comSC, SWT.NONE);
sc.setContent(grpTextD);
sc.setMinSize(new Point(510,600));
comSC.setSize(comSC.computeSize(SWT.DEFAULT, SWT.DEFAULT));

但是这并不能实现鼠标滚动的功能,设置如下代码也不行,

ScrollBar vb = sc.getVerticalBar();
vb.setIncrement(10);
comSC.addMouseListener(new MouseAdapter(){
@Override
public void mouseDown(MouseEvent e){
comSC.setFocus();
}
});

请问如何实现鼠标滚动功能?
另外如何实现当窗体shell的大小发生变化时,滚动条可以根据窗体的大小变化进行改变,当窗体size大于滚动面板中的内容(即窗体可容纳所有的内容)时,滚动条消失。现在改变窗体大小,滚动条就消失,而不能根据窗体改变的大小来自动变化。
请问如何实现????
谢谢了!!
...全文
99 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧