CheckboxTableViewer控件详解

来源:互联网 发布:域名过户给企业怎么弄 编辑:程序博客网 时间:2024/05/22 13:47
      CheckboxtableView使用         //创建CheckboxTableViewer          CheckboxTableViewer  checkboxTableViewer = CheckboxTableViewer.newCheckList(shell, SWT.BORDER | SWT.FULL_SELECTION);        table = checkboxTableViewer.getTable();//获取表格        table.setLinesVisible(true);//表行        table.setHeaderVisible(true);//表格头部显示        table.setBounds(10, 150, 853, 320);        table.addListener(SWT.MeasureItem, new Listener() {//监听如果表格中有数据时 表格高度设置为23            public void handleEvent(Event event) {                event.height = 23;            }        });               checkboxTableViewer.setContentProvider(new TableViewContentProvider()); // 内容器        checkboxTableViewer.setLabelProvider(new BeiTaiTableViewLabelProvider());// 标签器        checkboxTableViewer.setInput(list);//设置表格中的数据         //动态切换表格列的时候可以使用(在使用动态切换表格中的头部或信息时)         while(table.getColumnCount()>0)table.getColumns()[0].dispose(); //dispose摧毁表格头部重新创建        //将列封装在一个方法里面 例如:         public void xuetangColumn(){        while(table.getColumnCount()>0)table.getColumns()[0].dispose(); //在改变列之前摧毁        tableViewerColumn = new TableViewerColumn(                checkboxTableViewer, SWT.NONE);        TableColumn    tableColumn = tableViewerColumn.getColumn();        tableColumn.setText("血糖值");        tableColumn.setWidth(428);                tableViewerColumn_1 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);        TableColumn    tableColumn_1 = tableViewerColumn_1.getColumn();        tableColumn_1.setWidth(400);        tableColumn_1.setText("测量日期");    }       //删除表格中的所有数据       checkboxTableViewer.getTable().removeAll();        //全选        allselect.addMouseListener(new MouseAdapter() {            @Override            public void mouseUp(MouseEvent e) {                TableItem[] items = table.getItems();                if (items != null && items.length > 0) {                    for (int i = 0; i < items.length; i++) {                        items[i].setChecked(true);                    }                }            }        });        //反选        allnotselect.addMouseListener(new MouseAdapter() {            @Override            public void mouseUp(MouseEvent e) {                TableItem[] items = table.getItems();                if (items != null && items.length > 0) {                    for (int i = 0; i < items.length; i++) {                        if(items[i].getChecked()){                            items[i].setChecked(false);                        }else{                            items[i].setChecked(true);                        }                                            }                }            }        });      //获取所有checkbox被选中的列 返回一个Object数组       Object[] objects = checkboxTableViewer.getCheckedElements();       //创建List容器       List<?> list=new ArrayList<?>();       //循环Object数组      for(Object obj:objects){       //判断obj是否属于?对象      if(obj instanceof ?){       //强制转换放入list中        list.add((?)obj);       }      }           CheckBoxTableViewer 中内容器、标签器          //内容器 实现IStructuredContentProvider接口          public class TableViewContentProvider implements IStructuredContentProvider{            @SuppressWarnings("unchecked")              @Override            public Object[] getElements(Object inputElement) {            // TODO Auto-generated method stub            if(inputElement instanceof List)                return ((List)inputElement).toArray();            else             return new Object[0];             }        @Override    public void dispose() {        // TODO Auto-generated method stub            }    @Override    public void inputChanged(Viewer arg0, Object arg1, Object arg2) {        // TODO Auto-generated method stub            }     }//标签器public class BeiTaiTableViewLabelProvider implements ITableLabelProvider {    @Override    public Image getColumnImage(Object element, int index) {        // TODO Auto-generated method stub    //第一列要显示图片    if(index==1){       retuern new Image(null,"图片路径");     }      //根据字段判断 假如实体是userinfo判断男女使用图片显示    if(element instanceof Userinfo){      switch(index){       case 0:        return (Userinfo(element)).uname;       case 1:        return (Userinfo(element)).sex=="男"?new Image(null,"路径"):new Image(null,"路径");      }     }        return null;    }    @Override    public String getColumnText(Object element, int columnIndex) {                if(element instanceof BeiTaiOxygen){                switch (columnIndex) {                case 0:                    return ((BeiTaiOxygen)element).getOxygen();                case 1:                    return ((BeiTaiOxygen)element).getHeartRate();                case 2:                    return  ((BeiTaiOxygen)element).getCreatetime();                default:                    return "--";                }        }                        return "";    }    @Override    public void addListener(ILabelProviderListener arg0) {        // TODO Auto-generated method stub            }    @Override    public void dispose() {        // TODO Auto-generated method stub            }    @Override    public boolean isLabelProperty(Object arg0, String arg1) {        // TODO Auto-generated method stub        return false;    }    @Override    public void removeListener(ILabelProviderListener arg0) {        // TODO Auto-generated method stub            }}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机玩多了眼睛模糊怎么办 手机看多了眼睛模糊怎么办 孩子玩手机眼睛红怎么办 手机玩多了眼睛红怎么办 手机看久了眼花怎么办 玩手机眼睛近视了怎么办 近视了怎么办30个字 吃了长牙的土豆怎么办 鸡蛋和土豆吃了怎么办 狗狗眼睛流血水怎么办 石粉粘土干了怎么办 樱花针管笔干了怎么办 想学linux不会c语言怎么办 被摩托车排气管烫伤了怎么办 泡泡糖粘在衣服上怎么办 皮卡书屋办卡怎么办 照证件照齐刘海怎么办 哈挺机床卡刀了怎么办 绝地求生卡在登陆页面怎么办 白鞋子长霉了怎么办 幸福树树干烂了怎么办 花椒树树叶掉落枝干发黑怎么办 茉莉枝干变干了怎么办 冲风了头蒙怎么办 不小心把腰扭了怎么办 白衣服发霉有小黑点怎么办 佛肚竹的枝叶都枯了怎么办 山竹一天吃多了怎么办 水养竹子叶子发黄怎么办 龙竹的竹杆黄了怎么办 散尾竹叶子发黑怎么办 给姐姐打工不发工资怎么办? 水培红掌叶子发黄怎么办 盆竹的叶尖发黄怎么办 养富贵竹水里怎么生小虫怎么办 盆栽金银花叶子全部落掉怎么办 荷花竹根部烂了怎么办 水培绿萝叶子发黄怎么办 大早上的公鸡老打鸣怎么办 紫吊兰叶子变绿怎么办 芙桑花叶子发黄怎么办