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

📄 searchview.java

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

import java.io.IOException;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.ViewPart;

import cn.com.likai.mms.db.DbOperate;
import cn.com.likai.mms.db.SearchMember;
import cn.com.likai.mms.result.ResultEditor;
import cn.com.likai.mms.result.ResultEditorInput;
import cn.com.likai.mms.system.MmsFactory;

public class SearchView extends ViewPart implements ModifyListener{
	private Combo sexCombo,birthdayCombo;
	private Text nameText,learnSpecialtyText,workSpecialtyText;
	private Composite parent;
	private Group group;
	private Button button,reportButton;
	private SearchMember searchMember = new SearchMember();
	private DbOperate db = MmsFactory.getDbOperate();
	private Button yxCheck,wxCheck,zzCheck,kjwCheck,zcpsCheck;
	
	
	public void createPartControl(Composite parent){
		this.parent = parent;
		createGroup();
	}
	private void createGroup(){
		//创建一个Group组
		group = new Group(parent,SWT.NONE);
		group.setLayoutData(new GridData(GridData.FILL_BOTH));
		group.setLayout(new GridLayout(4,false));
		group.setText("搜索条件");
        //创建Group组里的组件
		//姓名
		new Label(group,SWT.NONE).setText("姓名");
		nameText = new Text(group,SWT.BORDER);
		createOccupation(group,2);
		//性别
		new Label(group,SWT.NONE).setText("性别");
		sexCombo = new Combo(group,SWT.NONE);
		sexCombo.add("男");
		sexCombo.add("女");
		createOccupation(group,2);
		//所学专业
		new Label(group,SWT.NONE).setText("所学专业");
		learnSpecialtyText = new Text(group,SWT.BORDER);
		learnSpecialtyText.setLayoutData(createGridData(GridData.HORIZONTAL_ALIGN_FILL,2));
		createOccupation(group,1);
		//从事专业
		new Label(group,SWT.NONE).setText("从事专业");
		workSpecialtyText = new Text(group,SWT.BORDER);
		workSpecialtyText.setLayoutData(createGridData(GridData.HORIZONTAL_ALIGN_FILL,2));
		createOccupation(group,1);
		//委员会
		Group committeeGroup = new Group(group,SWT.NONE);
		committeeGroup.setText("委员会");
		committeeGroup.setLayoutData(createGridData(GridData.HORIZONTAL_ALIGN_FILL,4));
		committeeGroup.setLayout(new GridLayout(6,false));
		//有线
		yxCheck = new Button(committeeGroup,SWT.CHECK);
		new Label(committeeGroup,SWT.NONE).setText("有线");
		//无线
		wxCheck = new Button(committeeGroup,SWT.CHECK);
		new Label(committeeGroup,SWT.NONE).setText("无线");
		//增值
		zzCheck = new Button(committeeGroup,SWT.CHECK);
		new Label(committeeGroup,SWT.NONE).setText("增值");
		//科技委
		kjwCheck = new Button(committeeGroup,SWT.CHECK);
		new Label(committeeGroup,SWT.NONE).setText("科技委");
		//职称评审
		zcpsCheck = new Button(committeeGroup,SWT.CHECK);
		new Label(committeeGroup,SWT.NONE).setText("职称评审");
		//出生年月
		new Label(group,SWT.NONE).setText("出生年月");
		birthdayCombo = new Combo(group,SWT.NONE);
		birthdayCombo.setLayoutData(createGridData(GridData.HORIZONTAL_ALIGN_FILL,2));
		birthdayCombo.add("1930-01 至 1939-12");
		birthdayCombo.add("1940-01 至 1949-12");
		birthdayCombo.add("1950-01 至 1959-12");
		birthdayCombo.add("1960-01 至 1969-12");
		birthdayCombo.add("1970-01 至 1979-12");
		birthdayCombo.add("1980-01 至 1989-12");
		createOccupation(group,6);
		
		//按钮
		button = new Button(group,SWT.NONE);
		button.setText("搜  索");
		button.addSelectionListener(new SelectionAdapter(){
			public void widgetSelected(SelectionEvent e){
				getSearchCondition();
				db.createView(searchMember);
				try{
					ResultEditorInput ei = new ResultEditorInput();
					//设置编辑器名字
					ei.setName("搜索结果");
					String editorId = ResultEditor.class.getName();
					IWorkbenchPage workbenchPage = getViewSite().getPage();
					IEditorPart editor = workbenchPage.findEditor(ei);
					if(editor!=null){
						workbenchPage.bringToTop(editor);
					}else{
						editor = (ResultEditor)workbenchPage.openEditor(ei,editorId);
					}
				}catch(PartInitException e2){e2.printStackTrace();}
			}
		});
		//导出按钮
		reportButton = new Button(group,SWT.NONE);
		reportButton.setText("导出结果");
		reportButton.addSelectionListener(new SelectionAdapter(){
			public void widgetSelected(SelectionEvent e){
				String ls_path = System.getProperty("user.dir");;
				try{
					Runtime.getRuntime().exec("cmd /c start " + ls_path + "\\result.xls");  
					}catch(IOException e2){e2.printStackTrace();}
			}
		});
	}
	
	/**
	 * 从组件中接收输入的查询条件
	 *
	 */
	private void getSearchCondition(){
		searchMember.setName(nameText.getText());
		if(sexCombo.getSelectionIndex() == 0){
			searchMember.setSex(0);
		}else if(sexCombo.getSelectionIndex() == 1){
			searchMember.setSex(1);
		}else{
			searchMember.setSex(2);
		}
		String temp[]=new String[5]; 
		temp[0] = yxCheck.getSelection()?"有线":"";
		temp[1] = wxCheck.getSelection()?"无线":"";
		temp[2] = zzCheck.getSelection()?"增值":"";
		temp[3] = kjwCheck.getSelection()?"科技委":"";
		temp[4] = zcpsCheck.getSelection()?"职称评审":"";
		searchMember.setCommittee(temp);
    	searchMember.setLearnSpecialty(learnSpecialtyText.getText());
		searchMember.setWorkSpecialty(workSpecialtyText.getText());
		switch(birthdayCombo.getSelectionIndex()){
		case 0:
			searchMember.setFromBirthday(stringToDate("1930-01-01"));
			searchMember.setToBirthday(stringToDate("1939-12-31"));
			break;
		case 1:
			searchMember.setFromBirthday(stringToDate("1940-01-01"));
			searchMember.setToBirthday(stringToDate("1949-12-31"));
			break;
		case 2:
			searchMember.setFromBirthday(stringToDate("1950-01-01"));
			searchMember.setToBirthday(stringToDate("1959-12-31"));
			break;
		case 3:
			searchMember.setFromBirthday(stringToDate("1960-01-01"));
			searchMember.setToBirthday(stringToDate("1969-12-31"));
			break;
		case 4:
			searchMember.setFromBirthday(stringToDate("1970-01-01"));
			searchMember.setToBirthday(stringToDate("1979-12-31"));
			break;
		case 5:
			searchMember.setFromBirthday(stringToDate("1980-01-01"));
			searchMember.setToBirthday(stringToDate("1989-12-31"));
			break;
		default:
			searchMember.setFromBirthday(stringToDate("0001-01-01"));
		    searchMember.setToBirthday(stringToDate("9999-01-01"));
		    break;	
		}
	}
	
	public SearchMember getInput(){
		return this.searchMember;
	}
	
	public void setInput(SearchMember searchMember){
		this.searchMember = searchMember;
	}
	
	public void setFocus(){}
	
	public void dispose(){
		super.dispose();
	}
	
	public void modifyText(ModifyEvent e){
		
	}
	
	/**
	 * 自定义的生成GridData对象
	 * 参数:style:对齐充满方式
	 * horizontalSpan:所占列数
	 */
	private GridData createGridData(int style,int horizontalSpan){
		GridData gridData = new GridData(style);
		gridData.horizontalSpan = horizontalSpan;
		return gridData;
	}
	
	/**
	 * 自定义生成不可见的占位标签
	 * 参数:parent在哪个容器中生成
	 * num生成标签的个数
	 */
	private void createOccupation(Composite parent,int num){
		for(int i=1;i<=num;i++){
			new Label(parent,SWT.NONE).setVisible(false);
		}
	}
	
//	STRING到日期 
	public static java.sql.Date stringToDate(String dateStr) 
	{ 
		return java.sql.Date.valueOf(dateStr); 
	} 
//	日期到STRING 
	public static String dateToString(java.sql.Date datee) 
	{ 
		return datee.toString(); 
	}

}

⌨️ 快捷键说明

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