容器类
我们可以通过容器对组件进行统一操作,容器移动,其中的组件也会跟着移动,容器隐藏,组件也会隐藏;容器销毁,组件也会自动销毁。
一、面板Composite类
该类是shell类的父类,常用的方法有:
pack()根据容器内组件的时间占地大小,压缩容器多余的空间
二、分组框group
它用于集合多个组件,并显示一个方框,方框上面有一串说明文字
Group group=new Group(shell,SWT.NONE);
group.setText("test");
三、选项卡TabFolder
它也属于容器类
TabFold可以有一个或多个TabItem,TabItem可以通过setControl方法设置所要显示的控件,可以基本控件也可以使容器。选项卡的位置也可以创建在底部,例如:
TabFolder tab= new TabFolder(shell,SWT.BOTTOM);
自定义选项卡CTabFolder比TabFolder功能更强大。
带有关闭按钮的选项卡
CTabFolder cf=new CTabFolder(shell,SWT.CLOSE);
带有边框的选项卡
new CTabFolder(shell,SWT.CLOSE|SWT.BORDER);
四、分割面板SashForm
sash=new SashForm(shell,SWT.NONE);
new Text(sash,SWT.BORDER);
new Text(sash,SWT.BORDER);
new Text(sash,SWT.BORDER);
五、滚动面板ScrolledComposite
虽然它是Composite的子类,但是不能把组件直接创建在它上面。应该先创建一个Composite,调用滚动面板的setContent方法,把该容器传入,然后再把组件放到该composite上。
还有自定义分割面板CBanner
还可以设置分割线的外观,让其变成弧形
banner.setSimple(false)
六、两个Shell窗口
shell.setVisible(false);
Shell s=new Shell(shell,SWT.CLOSE);
s.open();