好多Dialog
最近的一个feature request又需要做一个Dialog,我又一次面临在Eclipse平台的众多Dialog里选择一个来实现功能。借此再把这些dialog整理一下
1,SWT的Dialog
?? (1) 最简单的Dialog,只是封装了一个Shell。完全就可以当成一个Shell。
?? (2) 我还一直以为它和JFace的dialog差不多重。悲惨的是我的一个dialog就是用的swt的dialog,还自己负责readAndDispatch()
?
2,JFace的Window
?? (1) 也是对一个Shell的封装,地位和SWT的Dialog。
?? (2) 它open()方法里封装readAndDispatch(),Client可以只关心Dialog了
?? (3) 维护了parentShell,处理有有关模态和非模态的逻辑
?
3,JFace的Dialog
?? (1) 继承JFace的Window,也就是说,JFace的Dialog和SWT的Dialog一点关系都没有
?? (2) 最简单的Dialog,只有两个button:OK 或 Cancel
?? (3) TrayDialog, 继承于Dialog,实现Help相关的内容,比如经常在Dialog里看到的小问号
?? (4) TitleAreaDialog,继承于TrayDialog,实现一个Title Area,可以放图片,Message等,一般比较重的Dialog用它
?? (5) WizardDialog,继承于TitleAreaDialog,越来越重了。