解决org.eclipse.swt.SWTException: Subclassing not allowed

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

解决方法

在子类中加入checksubclass()方法,里面什么内容都不写,如:

@Override    
protected void checkSubclass() {        
    // TODO Auto-generated method stub        
}

你可能感兴趣的:(解决org.eclipse.swt.SWTException: Subclassing not allowed)