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最大的区别,一定要注意哟:) 105128.html

田亮 2007-03-21 01:46 发表评论
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值