錯(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類,用來驗(yàn)證子類是否存在于org.eclipse.swt.widgets包內(nèi).
若不在此包內(nèi),則報(bào)錯(cuò).
解決辦法:
1. package org.eclipse.swt.widgets;
2. 重寫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類,用來驗(yàn)證子類是否存在于org.eclipse.swt.widgets包內(nèi).
若不在此包內(nèi),則報(bào)錯(cuò).
解決辦法:
1. package org.eclipse.swt.widgets;
2. 重寫checkSubclass ()方法,方法體為空.即在子類中添加:
protected void checkSubclass() { }
3. 在類中聲明Shell類的一個(gè)實(shí)例.(OO原則: 多用組合,少用繼承)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
