<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    amp@java

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      99 隨筆 :: 0 文章 :: 228 評論 :: 0 Trackbacks
    SWT里TableEditor的作用是可以在表格里面顯示一些控件,例如列表、按鈕等,有時候是根據表格的內容在控件上顯示不同內容的,如果更新了表格內容,就要同時更新控件,但是表格內容可以通過Table控件的removeAll()來清除,而表格中的控件則無法用這個方法清除,你調用Table的removeAll()方法,往表格里填入新內容后,控件還是上次的控件,但是你一操作那些控件就會出異常,提示那些控件已經disposed。

    解決方法是顯式地調用控件及TableEditor的dispose()方法,在你建立TableEditor的時候,把它的引用保存起來,把里面的控件的引用也保存起來,到整個表格需要的清除的時候,通過引用先把控件dispose掉,再把TableEditor也dispose掉,這樣整個表格的內容就真正清除了。

    例如有一個表格名為table,里面的每一行都有3列,第一列是文本,第二列是Combo,第三列是Button,繪制表格的時候是這樣的:

    TableItem ti = new TableItem(table,SWT.NONE);
    ti.setText(
    0,"some string");
    te 
    = new TableEditor(table);
    Combo combo 
    = new Combo(table,SWT.NONE);
    controls.add(combo);
    te.setEditor(combo,ti,
    1);
    Button button 
    = new Button(table,SWT.NONE);
    controls.add(button);
    te.setEditor(button,ti,
    2);

    其中te和controls都是成員變量,te的類型是TableEditor,controls的類型是ArrayList<Control>。
    當整個table要清除內容時,可以這樣:
    //刪除控件
    for(Control control:controls){
    control.dispose();
    }
    //刪除TableEditor
    te.dispose();
    //刪除文本
    table.removeAll();
    posted on 2012-03-09 11:09 amp@java 閱讀(3850) 評論(0)  編輯  收藏 所屬分類: SWT

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产精品免费看久久久无码| 97在线视频免费播放| 国产乱色精品成人免费视频| 亚洲日本成本人观看| 成人网站免费观看| 亚洲午夜精品一区二区麻豆| 毛片a级毛片免费观看品善网| 亚洲熟女综合色一区二区三区| 成人免费网站在线观看| 久久夜色精品国产噜噜亚洲a| 成人免费无码大片a毛片| 亚洲国产一区二区三区在线观看| 天天摸夜夜摸成人免费视频| 亚洲国产精品ⅴa在线观看| 无码国产亚洲日韩国精品视频一区二区三区 | 在线综合亚洲中文精品| 免费看美女让人桶尿口| 麻豆一区二区三区蜜桃免费| 亚洲色欲久久久久综合网| 久草免费福利资源站| 一区二区三区亚洲| 久久综合AV免费观看| 国产亚洲情侣久久精品| 亚洲国产成人片在线观看无码| 51精品视频免费国产专区| 亚洲人成网站999久久久综合| 免费观看亚洲人成网站| 日韩精品无码免费专区午夜不卡| 亚洲国产成人精品不卡青青草原| 亚欧人成精品免费观看| 国产精品亚洲综合网站| 亚洲成色WWW久久网站| 国产三级在线观看免费| 久久99精品免费一区二区| 亚洲电影唐人社一区二区| 日本最新免费不卡二区在线| 国产精品小视频免费无限app| 久久亚洲精品成人无码网站| 日韩视频免费在线| 久久免费高清视频| 日本亚洲中午字幕乱码|