⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resulteditor.java

📁 一个专家资料的管理系统
💻 JAVA
字号:
package cn.com.likai.mms.result;

import java.util.Date;

import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.jface.viewers.TableLayout;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ViewForm;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.ToolBar;

import cn.com.likai.mms.db.Member;
import cn.com.likai.mms.system.EditorPartAdapter;
import cn.com.likai.mms.system.MmsContentProvider;
import cn.com.likai.mms.system.TableLabelProviderAdapter;

public class ResultEditor extends EditorPartAdapter{
	private TableViewer tv;
	
	public void createPartControl(Composite parent){
		ViewForm topComp = new ViewForm(parent,SWT.NONE);
		topComp.setLayout(new FillLayout());
		createTableViewer(topComp);//自定义方法,创建一个TableViewer表格
		tv.setContentProvider(new MmsContentProvider());//内容器
		tv.setLabelProvider(new TableViewerLabelProvider());//标签器
		//工具栏
		ResultEditorActionGroup actionGroup = new ResultEditorActionGroup(tv);
		ToolBar toolBar = new ToolBar(topComp,SWT.FLAT);
		ToolBarManager toolBarManager = new ToolBarManager(toolBar);
		actionGroup.fillActionToolBars(toolBarManager);
		//设置表格和工具栏在布局中的位置
		topComp.setContent(tv.getControl());//主体:表格
		topComp.setTopLeft(toolBar);//顶端边缘:工具栏
		actionGroup.fireFirstAction();//触发"首页"按钮的单击
	}
	
	//创建表格的自定义方法
	private void createTableViewer(Composite parent){
		tv = new TableViewer(parent,SWT.MULTI|SWT.BORDER|SWT.FULL_SELECTION);
		Table table = tv.getTable();
		table.setHeaderVisible(true);//显示表头
		table.setLinesVisible(true);//显示表格线
		table.setLayout(new TableLayout());//专用于表格的布局
		//建立TableViewer中的列,createColummn是自定义方法
		createColumn(20,"姓  名");
		createColumn(20,"性  别");
		createColumn(20,"出生年月");
		createColumn(20,"工作电话");
		createColumn(20,"住宅电话");
		createColumn(60,"从事专业");
		createColumn(20,"委员会");		
	}
	private TableColumn createColumn(int weight,String name){
		Table table = tv.getTable();
		TableLayout layout = (TableLayout)table.getLayout();
		layout.addColumnData(new ColumnWeightData(weight));
		TableColumn col = new TableColumn(table,SWT.NONE);
		col.setText(name);
		return col;
	}
	
	//标签器
	private static final class TableViewerLabelProvider extends TableLabelProviderAdapter{
		public String getColumnText(Object element,int col){
			Member o = (Member)element;
			switch(col){
			case 0:
				return o.getName();
			case 1:
				return o.getSex()?"男":"女";
			case 2:
				Date date = o.getBirthday();
				return date == null?"":date.toString();
			case 3:
				return o.getWorkPhone() == null?"":o.getWorkPhone();
			case 4:
				return o.getHomePhone() == null?"":o.getHomePhone();
			case 5:
				return o.getWorkSpecialty() == null?"":o.getWorkSpecialty();
			case 6:
				return o.getCommittee() == null?"":o.getCommittee();
			default:
				return "";
			}
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -