注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

淡忘邻人

二十七,始发愤

 
 
 

日志

 
 
 
 

隐藏SWT控件  

2011-01-24 10:05:30|  分类: JAVA |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
隐藏SWT控件
有时候需要根据用户的输入隐藏某些控件,调用Control.setVisible(false)并不能够消除控件占用的空间。解决的方法如下:

控件的parent使用GridLayout,控件使用GridData
((GridData) control.getLayoutData()).exclude = true;
control.setVisible(false);
control.getParent().layout()
如果界面布局比较复杂,使用了多个容器的话,可能需要调用这些容器的layout()

同样如果要显示控件的话,需要以下步骤
((GridData) control.getLayoutData()).exclude = false;
control.setVisible(true);
control.getParent().layout()

// 必须同时设置这两个属性才能实现隐藏,显示也一样
// 得到GridData
GridData gd = (GridData) reportGroup.getLayoutData();
gd.exclude = !gd.exclude;
// 得到visible
boolean visible = reportGroup.getVisible();visible = !visible;
reportGroup.setVisible(visible);
reportGroup.getParent().layout();

设置Label的背景色为透明 对Label所在的shell做设定
shell.setBackgroundMode(SWT.INHERIT_DEFAULT); 
 
  评论这张
 
阅读(642)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017