在做SWT的開發(fā)的時(shí)候總是將所有的類/監(jiān)聽方法都放在同一個(gè)class里面,這樣不利于代碼的維護(hù),而且修改的時(shí)候自己都找不到地方穆刻。所以就想到代碼分離。而代碼的分離肯定離不開對(duì)某些類的擴(kuò)展消约。然而SWT中的許多組件是不允許被繼承的肠鲫,例如Button。
如果需要直接繼承或粮,且在構(gòu)造方法中用如下語句:
super(parent, style);
則會(huì)引發(fā)錯(cuò)誤:org.eclipse.swt.SWTException: Subclassing not allowed
解決方法
在子類中加入checksubclass()方法导饲,里面什么內(nèi)容都不寫,如:
@Override
protected void checkSubclass() {
// TODO Auto-generated method stub
}