zoukankan      html  css  js  c++  java
  • SWT的ListVierer的使用

    package com.test;
    
    
    import java.util.ArrayList;
    import java.util.List;
    
    import model.People;
    
    import org.eclipse.jface.viewers.IStructuredContentProvider;
    import org.eclipse.jface.viewers.LabelProvider;
    import org.eclipse.jface.viewers.ListViewer;
    import org.eclipse.jface.viewers.TableViewer;
    import org.eclipse.jface.viewers.Viewer;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.events.SelectionAdapter;
    import org.eclipse.swt.events.SelectionEvent;
    import org.eclipse.swt.graphics.Color;
    import org.eclipse.swt.graphics.Image;
    import org.eclipse.swt.layout.FillLayout;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Shell;
    import org.eclipse.swt.widgets.Table;
    import org.eclipse.swt.widgets.TableColumn;
    
    
    
    
    public class LBMShow {static class ListLabelProvider extends LabelProvider {
        public String getText(Object element) {
            Country country = (Country)element;
            return country.getName();
        }
        public Image getImage(Object element) {
            return null;
        }
    }
    static class ContentProvider implements IStructuredContentProvider {
        public Object[] getElements(Object inputElement) {
            if(inputElement instanceof List){
                List list = (List)inputElement;
                return list.toArray();
            }
            return new Object[0];
        }
        public void dispose() {
        }
        
        @Override
        public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
            // TODO Auto-generated method stub
            
        }
    }
    static class Country {
        private String name;
    
        public Country(){
        }
        public Country(String name){
            this.name = name;
        }
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
        public static List getCountryList(){
            List list = new ArrayList();
            list.add(new Country("中国"));
            list.add(new Country("美国"));
            list.add(new Country("日本"));
            return list;
        }
        
    }
    private static org.eclipse.swt.widgets.List list;
    /**
     * Launch the application
     * @param args
     */
    public static void main(String[] args) {
        final Display display = Display.getDefault();
        final Shell shell = new Shell();
        shell.setSize(500, 375);
        shell.setText("SWT Application");
        //
        
        shell.open();
    
        final ListViewer listViewer = new ListViewer(shell, SWT.BORDER);
        list = listViewer.getList();
        list.setBounds(122, 63, 100, 100);
        
        listViewer.setContentProvider(new ContentProvider());
        listViewer.setLabelProvider(new ListLabelProvider());
        listViewer.setInput(Country.getCountryList());
        //可以直接添加
       // listViewer.add(new Country("英国"));                //可以添加一条
        shell.setLayout(new FillLayout());
        shell.layout();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch())
                display.sleep();
        }
    }}

  • 相关阅读:
    sql server 错误9003:LSN无效(日志扫描号无效),对数据库的修复.
    用C#调用C++DLL时的字符串指针参数传递问题
    sql server 2005中的Service broker小示例(未完善)
    水晶报表钻取数据,在明细层导的时候,报表会从新加载,并显示主报表
    [转]gridview获取当前行索引的方法
    验证视图状态 MAC 失败的解决办法
    SQL SERVER 2005中对存储过程进行签名(转)
    MSChart图表控件的一些使用
    Repository模式
    职能式管理和流程式管理
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/listview.html
Copyright © 2011-2022 走看看