原创作者: macrochen
阅读:868次
评论:0条
更新时间:2011-06-01
对于combo来说,在添加的selectionListener的要取得当前选中的内容,不能使用SelectionEvent的text,而必须通过调用Combo的getText()方法来取得
对于IContentProvider的getElements方法一般直接调用getChildren方法
对于内部类来说,使用clazz.newInstance()会抛出异常,我碰到这种情况,感觉很奇怪
一个双击展开的监听器写法:
java 代码
- new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent event) {
- TreeSelection selection = (TreeSelection) event.getSelection();
- Object element = selection.getFirstElement();
- // If it is not OK or if double click does not
- // select then expand
- if (element instanceof File) {
- if (viewer.getExpandedState(element)) {
- viewer.collapseToLevel(element, 1);
- } else {
- viewer.expandToLevel(element, 1);
- }
- }else {
- result = (ModuleEntry) element;
- okPressed();
- }
- }
- };
对于dialog来说,在初始化的时候千万别调用具体的控件,因此控件都是在createContent创建的,初始化的时候createContent()还没有被调用,这时会抛出空指针的异常,正确的做法是复写create方法,然后在里面执行需要调用控件的语句,在点击ok按钮关闭dialog时同样也存在这样的情况,不能调用控件的方法,因此控件都已经被销毁了,正确的做法是复写okPress()方法,然后在里面把需要的数据取出来保存到对应的属性中,然后在ok完了之后,调用相应的get方法得到所需要的数据
使用SashForm的时候,默认情况下, 放在SashForm中的控件将平均分割整个SashForm,为了指定每个控件在SashForm中所占的比例,需要使用SashForm.setWeights(int[]);方法, 参数指定每一部分占整个SashForm的比例,还要注意的就是该方法要在所有控件创建完成之后调用,否则会报错
评论 共 0 条 请登录后发表评论