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();
        }
    }}

  • 相关阅读:
    arm基础
    数据的封装
    网络安全基础
    qt5学习笔记
    nginx修改配置
    proteus_base1
    20191022
    20191015
    20191014
    20191013
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/listview.html
Copyright © 2011-2022 走看看