GridLayout中隐藏控件

By | 5月 19, 2015

org.eclipse.swt.layout.GridData

/**
* exclude informs the layout to ignore this control when sizing
* and positioning controls.  If this value is <code>true</code>,
* the size and position of the control will not be managed by the
* layout.  If this    value is <code>false</code>, the size and
* position of the control will be computed and assigned.
*
* The default value is <code>false</code>.
*
* @since 3.1
*/
public boolean exclude = false;

 

在SWT界面生成的时候(通常是构造函数里),将exclude设置成true,对应的控件是不显示的。但是当界面构建完了,再去修改exclude=true,是不起作用的。要exclude = true,且widget.setVisible(false),才能可以彻底隐藏控件。

setVisible()方法与exclude的区别

  • setVisible()是SWT控件的方法,隐藏或显示该控件。隐藏的控件,只是看不见,仍然占用父容器的空间。
  • exclude是GridLayout对应的GridData的一个字段,是通知父容器是否将该子控件计算在Layout中。表象上看,也是显示、隐藏控件,但是被exclude的控件,不占用父容器的空间。

2 thoughts on “GridLayout中隐藏控件

Comments are closed.