org.eclipse.swt.SWTException: Subclassing no

系统 1958 0
错误: org.eclipse.swt.SWTException: Subclassing not allowed

org.eclipse.swt.SWTException: Subclassing not allowed

创建一个继承Shell的类BorderTextShell后出错
因为在BorderTextShell构造方法中,
    super(display, style);
  

要调用父类构造方法:
    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类,用来验证子类是否存在于org.eclipse.swt.widgets包内.
若不在此包内,则报错.

解决办法:
1. package org.eclipse.swt.widgets;
2. 重写checkSubclass ()方法,方法体为空.即在子类中添加:
    protected void checkSubclass()
	{
		
	}
  

3. 在类中声明Shell类的一个实例.(OO原则: 多用组合,少用继承)

org.eclipse.swt.SWTException: Subclassing not allowed


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论