我想知道如何检查小部件是按钮还是文本?我该怎么办?使用widget.getClass().getName()
并将字符串等于"org.eclipse.swt.widgets.Combo"
进行比较?有没有示例或示例代码演示这个?我想检查一个小部件是否是一个可编辑的小部件(Text,Spinner,Combo)。
答案 0 :(得分:0)
不幸的是,在SWT中,可编辑的窗口小部件类不实现任何通用接口。如果此功能对您实现自己的界面很重要:
public interface Editable{
public void comommonEditableMethod(Param param);
}
然后您在“可编辑”组中使用SWT创建自己的小部件:
public class MyText extends Text implements Editable {...
public class MyCombo extends Combo implements Editable {...
...等 然后在代码中,您可以检查:
if(myControl instanceof Editable) {
// do something
}
请记住在你子类化的每个SWT控件中覆盖Widget的方法,否则你会得到令人讨厌的异常:
@Override
protected void checkSubclass () {
//DISABLE SUBCLASS CHECK
}
答案 1 :(得分:-1)