在做SWT的开发的时候总是将所有的类/监听方法都放在同一个class里面,这样不利于代码的维护,而且修改的时候自己都找不到地方。所以就想到代码分离。而代码的分离肯定离不开对某些类的扩展。然而SWT中的许多组件是不允许被继承的,例如Button。
如果需要直接继承,且在构造方法中用如下语句:
super(parent, style);
则会引发错误:org.eclipse.swt.SWTException: Subclassing not allowed
解决方法
在子类中加入checksubclass()方法,里面什么内容都不写,如:
@Override
protected void checkSubclass() {
// TODO Auto-generated method stub
}