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

📄 securitytreeview.java

📁 用java 实现的IE browser适合于学者
💻 JAVA
字号:
package com.hnjchina.securityView;
import java.io.IOException;
import java.sql.*;
import java.util.StringTokenizer;
import java.util.Vector;

import org.eclipse.jface.preference.PreferenceStore;
import org.eclipse.swt.*;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.events.ControlListener;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseTrackListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.events.TraverseEvent;
import org.eclipse.swt.events.TraverseListener;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.part.ViewPart;
public class SecurityTreeView extends ViewPart{
	public	Tree	tree;
	public	TreeItem itemgroup;
	public	Group	leftgroup,rightgroup,topgroup,bottomgroup;
	public	Text	usertext,destext,pritext,islocktext;
	public	Combo	usertypecombo;
	public	Table	table;
	public	Vector	vectorgroup=new Vector();
	public	Vector	vectoruserid=new Vector();
	public Logon	logon=new Logon();
	public	String	CS_TOKEN="/",CS_TODO="@";
public	void	openTabItem(TabFolder	tabfolder){
	Composite composite = new Composite(tabfolder,SWT.NONE);
	composite.setLayout(new FillLayout());
	TabItem	sectree=new TabItem(tabfolder,SWT.NONE);
	sectree.setText("SecurityTree");
	sectree.setControl(composite);
	createtree(composite);
	createtext(composite);
	creategroup(composite);
}
public	void	createtree(Composite composite){
	String		ls_username="";
	
//	Properties	properties=new Properties();
//	try{
//		properties.load(new FileInputStream("F:\\Java\\eclipse\\workspace\\RCP\\src\\com\\hnjchina\\securityView\\language.Properties"));
//	}catch (IOException e){
//	}
//	ls_username=properties.getProperty("users.name");
//	System.out.println("username = "+ls_username);	
//	ls_username=properties.getProperty("users.password");
//	System.out.println("users.password = "+ls_username);
//	ls_username=properties.getProperty("database.sever");
//	System.out.println("database.sever = "+ls_username);
	
	
	PreferenceStore preferenceStore = new PreferenceStore("F:\\Java\\eclipse\\workspace\\RCP\\src\\com\\hnjchina\\securityView\\language.Properties");
	try {
		preferenceStore.load();
	} catch (IOException e1) {
		e1.printStackTrace();
	}
	ls_username=preferenceStore.getString("users.name");
	System.out.println("username = "+ls_username);
	
	leftgroup=new Group(composite,SWT.PUSH);
	leftgroup.setText("left");
	leftgroup.setLayout(new FillLayout());

	tree=new Tree(leftgroup,SWT.BORDER|SWT.CHECK);
	tree.setLayout(new FillLayout());
		
	tree.addSelectionListener(new SelectionListener(){
		public void widgetSelected(SelectionEvent arg0) {
			TreeItem[]	treeitem=tree.getSelection();
			String	ls_data= null;
			if	(!(treeitem[0].getParentItem()==null)){
				ls_data=treeitem[0].getData().toString();
				StringTokenizer token=new StringTokenizer(ls_data,CS_TOKEN);
				String	ls_userid=""+token.nextToken();
				usertext.setText(token.nextToken());
				destext.setText(token.nextToken());
				pritext.setText(token.nextToken());
				islocktext.setText(token.nextToken());
				String	ls_group;
				if	(!token.hasMoreTokens()){
					ls_group=retrievegroup(ls_userid);
					ls_data=ls_data+CS_TOKEN+ls_group;
					treeitem[0].setData(ls_data);
				}else{
					ls_group=token.nextToken();
					System.out.println(ls_group);
				}
				setgroup(ls_group);
				topgroup.setVisible(true);
				bottomgroup.setVisible(true);
			}else{
				topgroup.setVisible(false);
				bottomgroup.setVisible(false);
				ls_data=treeitem[0].getData().toString();
				if ((treeitem[0].getItems().length)<=0){ 
					retrieveuser(treeitem[0],Integer.parseInt(ls_data));
					}
			}
			
		}
		public void widgetDefaultSelected(SelectionEvent arg) {
			
		}
		});
	
	rightgroup=new Group(composite,SWT.NONE);
	rightgroup.setText("right");
	rightgroup.setLayout(new GridLayout(1,true));
	
	GridData gridData = new GridData (GridData.FILL_BOTH);
	gridData.grabExcessVerticalSpace=false;
	topgroup=new Group(rightgroup,SWT.NONE);
	topgroup.setLayoutData(gridData);
	topgroup.setText("top");
	topgroup.setLayout(new GridLayout(6,true));
	
	gridData = new GridData (GridData.FILL_BOTH);
	bottomgroup=new Group(rightgroup,SWT.NONE);
	bottomgroup.setLayoutData(gridData);
	bottomgroup.setText("bottom");
	bottomgroup.setLayout(new FillLayout());
	
	createtreeitem();
}
public	void	createtreeitem(){
	
//	Image	imagegroup;
//	ImageData	sourcegroup;
//	ImageData	maskgroup;
//	sourcegroup=new ImageData("group.ico");		
//	maskgroup  =sourcegroup.getTransparencyMask();
//	imagegroup=new Image(null,sourcegroup,maskgroup);
	
	String	ls_des="";
	String	ls_data="";
	int		li_userid;
	ResultSet resultSet=logon.exesql("select distinct description,b.userid " +
									"from	security_groupings a,security_users b 	" +
									"where	a.grpid=b.userid");
	if	(resultSet!=null){
	try {
		while (resultSet.next()){
			itemgroup=new TreeItem(tree,SWT.NONE);
			ls_des=resultSet.getString("description");
			li_userid=resultSet.getInt("userid");
			itemgroup.setData(""+li_userid);
//			try {
//				ls_des =new  String(ls_des.getBytes("ISO-8859-1"));
//			} catch (UnsupportedEncodingException e1) {
//				e1.printStackTrace();
//			}
//			itemgroup.setImage(imagegroup);
			itemgroup.setText(ls_des);
			vectorgroup.addElement(ls_des);
			vectoruserid.addElement(""+li_userid);
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}
	}
}
public	void	createtext(Composite composite){
	GridData gridData = new GridData (GridData.FILL_BOTH);
	gridData.horizontalSpan=2;
	Composite	comleft=new Composite(topgroup,SWT.BORDER);
	comleft.setLayoutData(gridData);
	comleft.setLayout(new FillLayout(SWT.VERTICAL));
	
	gridData = new GridData (GridData.FILL_BOTH);
	gridData.horizontalSpan=4;
	Composite	comright=new Composite(topgroup,SWT.BORDER);
	comright.setLayoutData(gridData);
	comright.setLayout(new FillLayout(SWT.VERTICAL));
	
	Label	lable=new Label(comleft,SWT.BORDER);
	lable.setText("username:");
	lable=new Label(comleft,SWT.BORDER);
	lable.setText("description:");
	lable=new Label(comleft,SWT.BORDER);
	lable.setText("priority:");
	lable=new Label(comleft,SWT.BORDER);
	lable.setText("users type:");
	lable=new Label(comleft,SWT.BORDER);
	lable.setText("is lock:");
	
	usertext=new Text(comright,SWT.SINGLE|SWT.BORDER);
	usertext.addModifyListener(new ModifyListener(){

		public void modifyText(ModifyEvent e) {
			System.out.println("ModifyEvent: "+e.toString());
		}	
	});
	destext=new Text(comright,SWT.SINGLE|SWT.BORDER);
	pritext=new Text(comright,SWT.SINGLE|SWT.BORDER);
	Combo	usertypecombo=new Combo(comright,SWT.DROP_DOWN|SWT.READ_ONLY);
	usertypecombo.add("users");
	usertypecombo.add("group");
	usertypecombo.setText("users");
	islocktext=new Text(comright,SWT.SINGLE|SWT.BORDER);
}
public	void	creategroup(Composite composite){
	table=new Table(bottomgroup,SWT.SINGLE|SWT.H_SCROLL|SWT.V_SCROLL|SWT.BORDER|SWT.CHECK);
	TableColumn	column=new TableColumn(table,SWT.LEFT_TO_RIGHT);
	column.setWidth(350);
	table.setLinesVisible(true);
	Rectangle	rectangle=new Rectangle(0, 0, 0, 0);
	table.setBounds(rectangle);
	for	(int i=0;i<vectorgroup.size();i++){
		TableItem	tableitem=new	TableItem(table,SWT.NONE);
		tableitem.setText(""+vectorgroup.elementAt(i));
		tableitem.setData(""+vectoruserid.elementAt(i));
	}
	table.addSelectionListener(new SelectionListener(){
		public void widgetSelected(SelectionEvent arg0) {
			System.out.println("widgetSelected");
			}

		public void widgetDefaultSelected(SelectionEvent arg0) {
			System.out.println("widgetDefaultSelected");
		}
	});
	table.addKeyListener(new KeyListener(){

		public void keyPressed(KeyEvent arg0) {
			System.out.println("keyPressed");
		}
		public void keyReleased(KeyEvent arg0) {
			System.out.println("keyReleased ");
			
		}
		
	});
	table.addPaintListener(new PaintListener(){
		public void paintControl(PaintEvent arg0) {
			System.out.println("paintControl");			
		}});
	table.addTraverseListener(new TraverseListener(){

		public void keyTraversed(TraverseEvent arg0) {
			System.out.println("keyTraversed");
			
		}});
	table.addMouseTrackListener(new MouseTrackListener(){
		public void mouseEnter(MouseEvent arg0) {
			System.out.println("mouseEnter");	
		}
		public void mouseExit(MouseEvent arg0) {
			System.out.println("mouseExit");
		}
		public void mouseHover(MouseEvent arg0) {
			System.out.println("mouseHover");	
		}});
	table.addControlListener(new ControlListener(){

		public void controlMoved(ControlEvent arg0) {
			System.out.println("controlMoved");
			
		}

		public void controlResized(ControlEvent arg0) {
			System.out.println("controlResized");
			
		}});
}
public	void	retrieveuser(TreeItem item,int li_userid){
//	Image imageusers;
//	ImageData	sourceusers,maskusers;
//	sourceusers=new ImageData("users.ico");
//	maskusers =sourceusers.getTransparencyMask();
//	imageusers=new Image(null,sourceusers,maskusers);
	TreeItem	itemuser;	
	String	ls_data,ls_des;	
	ResultSet	result=logon.exesql("select c.userid,c.name,c.description,c.priority,c.user_type,c.status from	security_groupings a,security_users b,security_users c where	a.grpid=b.userid and  a.userid=c.userid  and a.grpid="+li_userid);
	try {
		while (result.next()){
			itemuser=new TreeItem(item,SWT.NONE);
			ls_data="";
			ls_des=result.getString("description");
			li_userid=result.getInt("userid");
//			try {
//				ls_des =new  String(ls_des.getBytes("ISO-8859-1"));
//			} catch (UnsupportedEncodingException e2) {
//				e2.printStackTrace();
//			}
			ls_data=CS_TOKEN+li_userid+CS_TOKEN+result.getString("name")+CS_TOKEN+ls_des+CS_TOKEN+result.getString("priority")+CS_TOKEN+result.getString("status");
			itemuser.setText(ls_des);
			itemuser.setData(ls_data);
//			itemuser.setImage(imageusers);
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}
}
public	String	retrievegroup(String ls_userid){
	String	ls_group = "";
	ResultSet	result=logon.exesql("select	grpid from	security_groupings where	userid="+ls_userid);
	try {
		while (result.next()){
			ls_group=ls_group+CS_TODO+result.getInt("grpid");
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return	ls_group;
}
public	void	setgroup(String ls_group){
	TableItem[] item=table.getItems();
	for (int i=0;i<item.length;i++){
		StringTokenizer token=new StringTokenizer(ls_group,CS_TODO);
		while (token.hasMoreTokens()){
			if	(item[i].getData().toString().equals(token.nextToken())){
				item[i].setChecked(true);
				break;
			}else{
				item[i].setChecked(false);
			}
		}
	}
}

/* (non-Javadoc)
 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
 */
public void createPartControl(Composite parent) {
	parent.setLayout(new FillLayout());
	createtree(parent);
	createtext(parent);
	creategroup(parent);
}
/* (non-Javadoc)
 * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
 */
public void setFocus() {

}
}

⌨️ 快捷键说明

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