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

📄 securitytableview.java

📁 用java 实现的IE browser适合于学者
💻 JAVA
字号:
package com.hnjchina.securityView;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.dialogs.MessageDialog;
import	org.eclipse.jface.viewers.*;

import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.ui.part.ViewPart;

public class SecurityTableView extends ViewPart{
public	void	createTableViewer(Composite composite){
	final TableViewer	tv=new TableViewer(composite,SWT.MULTI|SWT.H_SCROLL|SWT.V_SCROLL|SWT.BORDER|SWT.FULL_SELECTION);	
	Table		table=tv.getTable();
	table.setHeaderVisible(true);
	table.setLinesVisible(true);
	TableLayout	tlayout=new TableLayout();
	table.setLayout(tlayout);
	
	tlayout.addColumnData(new ColumnWeightData(5));
	new TableColumn(table,SWT.NONE).setText("userid");
	tlayout.addColumnData(new ColumnWeightData(100));
	new TableColumn(table,SWT.NONE).setText("name");
	tlayout.addColumnData(new ColumnWeightData(500));
	new TableColumn(table,SWT.NONE).setText("description");
	tlayout.addColumnData(new ColumnWeightData(10));
	new TableColumn(table,SWT.NONE).setText("priority");
	tlayout.addColumnData(new ColumnWeightData(10));
	new TableColumn(table,SWT.NONE).setText("user_type");
	tv.setContentProvider(new MyContentProvider());
	MyActionGroup	actiongroup=new MyActionGroup(tv);
	actiongroup.fillContextMenu(new MenuManager());
	tv.setLabelProvider(new MyLabelProvider());	
	tv.setInput(getPeoPles());
	
	tv.addDoubleClickListener(new IDoubleClickListener(){

		public void doubleClick(DoubleClickEvent event) {
			IStructuredSelection	selection=(IStructuredSelection)event.getSelection();
			PeopleEntity	obj=(PeopleEntity) selection.getFirstElement();
			 MessageDialog.openInformation(null, "提示", "you double click " + obj.getusername());			
		}
	});
	tv.addSelectionChangedListener(new ISelectionChangedListener(){
		public void selectionChanged(SelectionChangedEvent event) {
		}});	
}
private	List	getPeoPles(){
	String	ls_des;
	List	peoples=new ArrayList();
	Logon	logon=new	Logon();
	ResultSet resultSet=logon.exesql("select userid,name,description,priority,user_type from	security_users");	
	try {
		while (resultSet.next())
		{	PeopleEntity	p=new PeopleEntity();
			p.setuserid(resultSet.getInt("userid"));
			p.setusername(resultSet.getString("name"));
			ls_des=resultSet.getString("description");
//			try {
//				ls_des=new String(ls_des.getBytes("ISO-8859-1"));
//			} catch (UnsupportedEncodingException e1) {
//				e1.printStackTrace();
//			}
			p.setdescription(ls_des);
			p.setpriority(resultSet.getInt("priority"));
			p.setuser_type(resultSet.getInt("user_type"));
			peoples.add(p);
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}
	
	return	peoples;
}
/*内容器(写成了一个内部类). 在这里对所有记录集中的记录进行处理*/
private	static	final	class	MyContentProvider	implements	IStructuredContentProvider{
	public Object[] getElements(Object element) {
		if	(element instanceof List)
			return	((List)element).toArray();
		else
		return new Object[0];
	}
	public void dispose() {}
	public void inputChanged(Viewer arg0, Object arg1, Object arg2) {}
}
public	static	final	class	MyLabelProvider	implements	ITableLabelProvider	{
	public Image getColumnImage(Object element, int col) {
		return null;
	}

	public String getColumnText(Object element,int col) {
		PeopleEntity	o= (PeopleEntity) element;
		if	(col==0){
			return String.valueOf(o.getuserid());
			}
		if (col==1){
			return	o.getusername();
		}
		if	(col==2){
			return	o.getdescription();
		}
		if	(col==3){
			return	String.valueOf(o.getpriority());	
		}
		if	(col==4){
			return	String.valueOf(o.getuser_type());
		}		
		return null;
	}	
	public void addListener(ILabelProviderListener arg0) {}
	public void dispose() {	}
	public boolean isLabelProperty(Object arg0, String arg1) {
		return false;
	}
	public void removeListener(ILabelProviderListener arg0) {}
}
/*这是一个实体类,相当于数据库中的一条记录。
* 具体为一个人的记录,象征性的包含四个不同数据类型的字段。
* 这些字段都是private的,然后以其相应的set/get方法来访问*/

public class PeopleEntity {
	private	long	userid;
	private	String	name;
	private	String	description;
	private	int	priority;
	private	int	user_type;
	public	long	getuserid(){return	userid;}
	public	void	setuserid(long ll_userid){userid=ll_userid;}
	public	String	getusername(){return	name;}
	public	void	setusername(String ls_username){name=ls_username;}
	public	String	getdescription(){return	description;}
	public	void	setdescription(String ls_des){description=ls_des;}
	public	int		getpriority(){return	priority;}
	public	void	setpriority(int li_pri){priority=li_pri;}
	public	int 	getuser_type(){return	user_type;}
	public	void	setuser_type(int li_usertype){user_type=li_usertype;}
}
private	final	class	MyActionGroup	extends	Action{
	private	TableViewer	tv;
	private	OpenAction	openAction;
	private RefreshAction refreshAction;
	public	MyActionGroup(TableViewer v){
		System.out.println("MyActionGroup");
		this.tv=v;
		openAction=new OpenAction(v);
		refreshAction=new RefreshAction(v);
	}
	/*菜单的生成*/
public	void	fillContextMenu(IMenuManager mgr){
	/* 下面两句代码,eclipse用到了"乒乓模式".menu和tv两个对象互为参数*/
	Menu	menu=((MenuManager)mgr).createContextMenu(tv.getTable());
	tv.getTable().setMenu(menu);
	if	(!(openAction==null)){
		tv.add(openAction);
		tv.add(refreshAction);
	}
}
}
private	final	class	OpenAction	extends	Action{
	private	TableViewer	tv;
	public	OpenAction(TableViewer v){
		this.tv=v;
		setText("open");
	}
	public	void	run(){
		IStructuredSelection	select=(IStructuredSelection) tv.getSelection();
		PeopleEntity obj=(PeopleEntity) select.getFirstElement();
		if	(obj==null){
			MessageDialog.openInformation(null,"message","you hava must select row");
		}else{
			MessageDialog.openInformation(null,"message","open row "+obj.getusername());
		}
	}
}
private	final	class	RefreshAction	extends	Action{
	private	TableViewer	tv;
	public	RefreshAction(TableViewer v){
		this.tv=v;
		setText("Refresh");
	}
	public	void	run(){
		tv.refresh();
	}
}
/* (non-Javadoc)
 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
 */
public void createPartControl(Composite parent) {
	parent.setLayout(new FillLayout());		
	createTableViewer(parent);	
}
/* (non-Javadoc)
 * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
 */
public void setFocus() {
	// TODO Auto-generated method stub
	
}
}

⌨️ 快捷键说明

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