J2EE,Documentum,GWT,EJB学习路程

为了所爱的,和爱我的人努力

 

GWT中remove的小问题 我的所有随笔属于个人总结,有不足之处请回复指出

在GWT中,在widget的方法remove是非常常用的,但请您好好注意一个小问题:
     当你用循环remove时,请注意最好使用倒循环,因为如果你要是用正循环的话,remove一个widget后,他的下个widget就会到他的“位置”,例如:
      int count = widgetPanel.getWidgetCount() ;
      for(int i = 0 ; i < count ; i ++ )
      {
           widgetPanel.remove(i) ;
      }
 这样肯定会出异常的;
 因为当你remove掉第一个widget后,第二个widget就变成第一个widget了,所以,当你认为remove掉第二个时,其实是把原来的第三个widget给remove掉了;
解决方案:
1.倒循环:
      int count = widgetPanel.getWidgetCount() ;
      for(int i = count - 1 ; i >= 0 ; i -- )
      {
           widgetPanel.remove(i) ;
      }
这样就不会出现以上的情况:)
2.remove第一个;
   int count = widgetPanel.getWidgetCount() ;
      for(int i = 0 ; i < count ; i ++ )
      {
           widgetPanel.remove(0) ;
      }
这种方法,也正说明了GWT转换成javascript后的特性,它是根据remove的元素,在他父元素里的“位置”进行remove,这点是和Swing最大的区别,一定要注意哟:)

posted on 2007-03-21 01:46 田亮 阅读(1272) 评论(1)  编辑  收藏 所属分类: GWT

评论

# 不错 2007-07-27 13:37 魔王

写得不错哟,加油  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

常用链接

留言簿(4)

随笔分类

随笔档案

文章分类

文章档案

相册

MyHome

搜索

最新评论

阅读排行榜

评论排行榜