rcp tableview

来源:互联网 发布:知盈医学课堂网址 编辑:程序博客网 时间:2024/06/12 16:20

很简单 主类 为 Tableview 辅助 有 TableViewerContentProvider 提供内容,TableViewerLabelProvider 显示内容  实体 Transmission 


1.Tableview
public class TableView extends ViewPart {
    public TableView() {
    }

    @Override
    public void createPartControl(Composite parent) {
        
        TableViewer tv = new TableViewer(parent, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);

        // 第二步:通过表格内含的Table对象设置布局方式
        Table table = tv.getTable();
        table.setHeaderVisible(true); // 显示表头
        table.setLinesVisible(true); // 显示表格线
        TableLayout layout = new TableLayout(); // 专用于表格的布局
        table.setLayout(layout);

        // 第三步:用TableColumn类创建表格列
        layout.addColumnData(new ColumnWeightData(13));// ID列宽13像素
        new TableColumn(table, SWT.NONE).setText("本地路径");
        layout.addColumnData(new ColumnWeightData(20));
        new TableColumn(table, SWT.NONE).setText("方向");
        layout.addColumnData(new ColumnWeightData(20));
        new TableColumn(table, SWT.NONE).setText("服务器路径");
        layout.addColumnData(new ColumnWeightData(20));
        new TableColumn(table, SWT.NONE).setText("大小");
        layout.addColumnData(new ColumnWeightData(20));
        new TableColumn(table, SWT.NONE).setText("优先级");
        layout.addColumnData(new ColumnWeightData(20));
        new TableColumn(table, SWT.NONE).setText("时间");
        layout.addColumnData(new ColumnWeightData(40));
        new TableColumn(table, SWT.NONE).setText("原因");

        // 第四步:设置内容器和标签器
        tv.setContentProvider(new TableViewerContentProvider());
        tv.setLabelProvider(new TableViewerLabelProvider());

        // 第五步:用TableViewer的setInput方法将数据输入到表格
        
        List transmission = new ArrayList();  
          
        transmission.add(new Transmission("/home", "<--", "/opt", "23","normal","2012-6-29","reason"));  
      
        transmission.add(new Transmission("/home", "<--", "/opt", "23","normal","2012-6-29","reason"));  
        
//        Object data = PeopleFactory.getPeoples();
        tv.setInput(transmission);
        
    }

    @Override
    public void setFocus() {
        // TODO Auto-generated method stub
        
    }

}

2.TableViewerContentProvider



import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.Viewer;

public class TableViewerContentProvider  implements IStructuredContentProvider  {

    @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 Object[] getElements(Object inputElement) {  
          
        // TODO Auto-generated method stub  

        return ((List) inputElement).toArray();  

    }  

}

3.TableViewerLabelProvider

package com.upload.test;

import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.swt.graphics.Image;

import com.upload.tableview.PersonEO;

public class TableViewerLabelProvider implements ITableLabelProvider {

    @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
        
    }

    @Override
    public Image getColumnImage(Object arg0, int arg1) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public String getColumnText(Object element, int columnIndex) {
        
        Transmission transmission = (Transmission) element;  
          
         if (columnIndex == 0)  

             return transmission.getServerORlocal() + "";  

         if (columnIndex == 1)  

             return transmission.getDirection();  

         if (columnIndex == 2)  

             return transmission.getRemotefile();  

         if (columnIndex == 3)  

             return transmission.getSize();
         
         if (columnIndex == 4)
            
             return transmission.getPriority();
         
         if (columnIndex == 5)
            
             return transmission.getTime();
         
         if (columnIndex == 6)
            
             return transmission.getReason();

         return null;  
    }

}

4.Transmission

package com.upload.test;

public class Transmission {
//    new TableColumn(table, SWT.NONE).setText("ID号");
//    layout.addColumnData(new ColumnWeightData(40));
//    new TableColumn(table, SWT.NONE).setText("姓名");
//    layout.addColumnData(new ColumnWeightData(20));
//    new TableColumn(table, SWT.NONE).setText("性别");
//    layout.addColumnData(new ColumnWeightData(20));
//    new TableColumn(table, SWT.NONE).setText("年龄");
//    layout.addColumnData(new ColumnWeightData(60));
//    new TableColumn(table, SWT.NONE).setText("记录建立时间");
    private String serverORlocal;
    private String direction;
    private String remotefile;
    private String size;
    private String priority;
    private String time;
    private String reason;
    
    
    public Transmission(String serverORlocal,String direction,String remotefile,String size,String priority,String time,String reason){
        this.serverORlocal = serverORlocal;
        this.direction = direction;
        this.remotefile = remotefile;
        this.size = size;
        this.priority = priority;
        this.time = time;
        this.reason = reason;
    }
    
    public Transmission(String serverORlocal,String direction,String remotefile,String size,String priority,String time){
        this.serverORlocal = serverORlocal;
        this.direction = direction;
        this.remotefile = remotefile;
        this.size = size;
        this.priority = priority;
        this.time = time;
    }
    public String getServerORlocal() {
        return serverORlocal;
    }
    public void setServerORlocal(String serverORlocal) {
        this.serverORlocal = serverORlocal;
    }
    public String getDirection() {
        return direction;
    }
    public void setDirection(String direction) {
        this.direction = direction;
    }
    public String getRemotefile() {
        return remotefile;
    }
    public void setRemotefile(String remotefile) {
        this.remotefile = remotefile;
    }
    public String getSize() {
        return size;
    }
    public void setSize(String size) {
        this.size = size;
    }
    public String getPriority() {
        return priority;
    }
    public void setPriority(String priority) {
        this.priority = priority;
    }
    public String getTime() {
        return time;
    }
    public void setTime(String time) {
        this.time = time;
    }
    public String getReason() {
        return reason;
    }
    public void setReason(String reason) {
        this.reason = reason;
    }
    
    
    
    
}



原创粉丝点击