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 田亮 閱讀(1288) 評論(1)  編輯  收藏 所屬分類: GWT

          評論

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

          寫得不錯喲,加油  回復  更多評論   

          導航

          統計

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          MyHome

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 固阳县| 景宁| 井冈山市| 大田县| 长治市| 阳泉市| 崇文区| 赤城县| 方山县| 历史| 拉萨市| 祁东县| 永定县| 前郭尔| 宁乡县| 唐山市| 雷山县| 大石桥市| 庆阳市| 常熟市| 六盘水市| 仪征市| 禄丰县| 祁东县| 南部县| 迁西县| 静乐县| 竹溪县| 莱芜市| 仁化县| 新田县| 五指山市| 永川市| 高雄县| 台南市| 聂荣县| 新郑市| 固镇县| 五家渠市| 琼结县| 洛宁县|