继承关系,Widget为所有窗口组件的父类,Control为所有控件的父类,Composite为容器控件
widget-Item/Control
Control-Scrollble/Button/Label
Scrollble-Composite/Text
Composite-Tree/Table/Canvas
Canvas-Decorations-Shell
Shell不允许被继承
控件可以携带用户数据:getData();setData(Object);getData(String key);setData(String key,Object data)。添加或删除用户数据对控件没有影响。
资源使用原则:谁构造,谁释放
使用Color:color=new Color(display,r,g,b);或display.getSystemColor(int)获取预定义样式
使用Font:Font font=new Font(display,"Arial",12,SWT.ITALIC);
font=display.getSystemFont();获取系统字体
使用Image:
从InputStream构造Image:image=new Image(display,"c:\\graph.bmp");
使用ImageData构造:Imagedata=new ImageData("c:\\graph.bmp");
Image image=new Image(display,imagedata);
获取系统图标,如错误、警告
image=display.getstemImage(SWT.ICON_ERROR);
若自己构造的color‘font、Image一定要记得dispose,从系统获取的不需要dispose。
使用Region构造任意不规则窗口区域:
Region region=new Region(display);
region.add(new Rectangle(a,b,c,d));
...//添加矩形区域
shell.setRegion();
...
region.dispose();记得释放
使用系统托盘
Tray tray=display.getSystemTray();
TrayItem item=new TrayItem(tray,SWT.NONE);
item.setImage();
.setTooltips...
.addListener...
...
item.dispose();//需要释放,tray不需要释放。
widget-Item/Control
Control-Scrollble/Button/Label
Scrollble-Composite/Text
Composite-Tree/Table/Canvas
Canvas-Decorations-Shell
Shell不允许被继承
控件可以携带用户数据:getData();setData(Object);getData(String key);setData(String key,Object data)。添加或删除用户数据对控件没有影响。
资源使用原则:谁构造,谁释放
使用Color:color=new Color(display,r,g,b);或display.getSystemColor(int)获取预定义样式
使用Font:Font font=new Font(display,"Arial",12,SWT.ITALIC);
font=display.getSystemFont();获取系统字体
使用Image:
从InputStream构造Image:image=new Image(display,"c:\\graph.bmp");
使用ImageData构造:Imagedata=new ImageData("c:\\graph.bmp");
Image image=new Image(display,imagedata);
获取系统图标,如错误、警告
image=display.getstemImage(SWT.ICON_ERROR);
若自己构造的color‘font、Image一定要记得dispose,从系统获取的不需要dispose。
使用Region构造任意不规则窗口区域:
Region region=new Region(display);
region.add(new Rectangle(a,b,c,d));
...//添加矩形区域
shell.setRegion();
...
region.dispose();记得释放
使用系统托盘
Tray tray=display.getSystemTray();
TrayItem item=new TrayItem(tray,SWT.NONE);
item.setImage();
.setTooltips...
.addListener...
...
item.dispose();//需要释放,tray不需要释放。