錯(cuò)誤: org.eclipse.swt.SWTException: Subclassing not allowed
創(chuàng)建一個(gè)繼承Shell的類BorderTextShell后出錯(cuò)
因?yàn)樵贐orderTextShell構(gòu)造方法中,
要調(diào)用父類構(gòu)造方法:
其中,checkSubclass ()方法繼承自Decoration類,用來(lái)驗(yàn)證子類是否存在于org.eclipse.swt.widgets包內(nèi).
若不在此包內(nèi),則報(bào)錯(cuò).
解決辦法:
1. package org.eclipse.swt.widgets;
2. 重寫(xiě)checkSubclass ()方法,方法體為空.即在子類中添加:
3. 在類中聲明Shell類的一個(gè)實(shí)例.(OO原則: 多用組合,少用繼承)
創(chuàng)建一個(gè)繼承Shell的類BorderTextShell后出錯(cuò)
因?yàn)樵贐orderTextShell構(gòu)造方法中,
super(display, style);
要調(diào)用父類構(gòu)造方法:
public Shell (Display display, int style) {
this (display, null, style, 0, false);
}
Shell (Display display, Shell parent, int style, int /*long*/ handle, boolean embedded) {
super ();
checkSubclass ();
...
}
其中,checkSubclass ()方法繼承自Decoration類,用來(lái)驗(yàn)證子類是否存在于org.eclipse.swt.widgets包內(nèi).
若不在此包內(nèi),則報(bào)錯(cuò).
解決辦法:
1. package org.eclipse.swt.widgets;
2. 重寫(xiě)checkSubclass ()方法,方法體為空.即在子類中添加:
protected void checkSubclass()
{
}
3. 在類中聲明Shell類的一個(gè)實(shí)例.(OO原則: 多用組合,少用繼承)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

