类扩展问题

weicai13 2009-03-19 11:41:22
我想扩展TableColumn这个类,增加鼠标监听功能,但是代码跑到super (parent, style)这句话后就开始转向报错代码了

代码如下

public class MyTableColumn extends TableColumn {

public MyTableColumn (Table parent, int style) {
super (parent, style);
}

public void addMouseListener (MouseListener listener) {
checkWidget ();
// if (listener == null) error (SWT.ERROR_NULL_ARGUMENT);
TypedListener typedListener = new TypedListener (listener);
addListener (SWT.MouseDown,typedListener);
addListener (SWT.MouseUp,typedListener);
addListener (SWT.MouseDoubleClick,typedListener);
}
}

TableColumn类部分代码
public TableColumn (Table parent, int style) {
super (parent, checkStyle (style));
resizable = true;
this.parent = parent;
parent.createItem (this, parent.getColumnCount ());
}
...全文
26 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
orangemike 2009-03-21
  • 打赏
  • 举报
回复
从构造来看你的TableColumn 应该是SWT中的TableColumn。

报的错应该是Exception in thread "main" org.eclipse.swt.SWTException: Subclassing not allowed

这是因为你继承一个SWt标准组件但是没有覆盖checkSubclass()方法的缘故。

在你的MyTableColumn里面加上:
protected void checkSubclass() {
System.out.println("MyTableColumn");
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧