ScrolledComposite的使用

在我们的系统中,使用的是jface的dialog。
在系统中,需要根据对话框的大小使用滚动条来实现图片的展现。根据别的同学的学习成果和自己的总结,完成了自己的界面,把主要的实现在这里写下,方便自己和别的同学:)

protected Control createDialogArea(Composite parent) {

ScrolledComposite panel = new ScrolledComposite(parent, SWT.BORDER | SWT.V_SCROLL|SWT.H_SCROLL);
// 这句话控制的是,要不要在显示不了 图片的大小的时候显示出两个方向的滚动条
// panel.setLayoutData(new GridData(GridData.FILL_VERTICAL|GridData.FILL_HORIZONTAL));
panel.setLayoutData(new GridData(GridData.FILL_BOTH));
// 注释掉下面这句话,不是所有时候都要使用滚动条。如果不注释掉的话,在不需要的时候,滚动条会灰掉,而不是隐藏。
// panel.setAlwaysShowScrollBars(true);
// 两个set保证了显示这个滚动内容
panel.setExpandHorizontal(true);
panel.setExpandVertical(true);
panel.setLayout(new GridLayout(1, false));

Composite subPanel = new Composite(panel, SWT.BORDER);
subPanel.setLayoutData(new GridData(GridData.FILL_BOTH));
subPanel.setLayout(new GridLayout(1, true));


panel.setContent(subPanel);

try{
Image img=taskAllocateAction.getImg(taskID);

subPanel.setBackgroundImage(img);
// 根据图片大小调整框的大小
panel.setMinHeight(img.getBounds().height);
panel.setMinWidth(img.getBounds().width);
}catch(Exception ex){
ex.printStackTrace();
}
return panel;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值