删除SWT树中一个结点.
SWT Tree类中目前我发现只有removeAll(),clearAll(boolean all),clear(int index,boolean all)对结点进行删除操作.
removeAll(): 删除所有节点,包括树根节点及根节点下面的子节点.
clearAll(boolean all): 当all为false时,只清除所有根节点的数据信息,如: 显示文本,绑定的数据,图标等.当all为true时,不仅清除所有根节点的数据信息,还会清除根节点下面的子节点.
clear(int index,boolean all): 当all为false时,只清除指定位置根节点的数据信息,如: 显示文本,绑定的数据,图标等.当all为true时,不仅清除指定位置根节点的数据信息,还会清除指定位置节点下面的子节点.
另外,SWT TreeItem类中的removeAll(),clearAll(boolean all),clear(int index,boolean all)作用类似于SWT Tree.
解决方法: 使用TreeItem类的一个方法dispose();能删除当前节点及当前节点下面的所有节点.这个方法的意思是将TreeItem资源释放.当然,Tree类也有dispose()方法,其作用是释放所有SWT树资源.
分析:
这是SWT系统资源释放的一个原则: 释放了父控件也就释放了子控件.
SWT Tree类中目前我发现只有removeAll(),clearAll(boolean all),clear(int index,boolean all)对结点进行删除操作.
removeAll(): 删除所有节点,包括树根节点及根节点下面的子节点.
clearAll(boolean all): 当all为false时,只清除所有根节点的数据信息,如: 显示文本,绑定的数据,图标等.当all为true时,不仅清除所有根节点的数据信息,还会清除根节点下面的子节点.
clear(int index,boolean all): 当all为false时,只清除指定位置根节点的数据信息,如: 显示文本,绑定的数据,图标等.当all为true时,不仅清除指定位置根节点的数据信息,还会清除指定位置节点下面的子节点.
另外,SWT TreeItem类中的removeAll(),clearAll(boolean all),clear(int index,boolean all)作用类似于SWT Tree.
解决方法: 使用TreeItem类的一个方法dispose();能删除当前节点及当前节点下面的所有节点.这个方法的意思是将TreeItem资源释放.当然,Tree类也有dispose()方法,其作用是释放所有SWT树资源.
分析:
这是SWT系统资源释放的一个原则: 释放了父控件也就释放了子控件.