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

📄 securityobjectsview.java

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

import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.ViewPart;

import com.hnjchina.securityManager.SecurityObject;
import com.hnjchina.securityManager.SecurityObjectCellModifier;
import com.hnjchina.securityManager.SecurityObjectContentProvider;
import com.hnjchina.securityManager.SecurityObjectEditor;
import com.hnjchina.securityManager.SecurityObjectLabelProvider;


public class SecurityObjectsView extends ViewPart{
    private TableViewer	tv;
    private	Table	table;
    public	SecurityObjectEditor	security=new SecurityObjectEditor();
	private	Action addItemAction,deleteItemAction;
	public void createPartControl(Composite parent) {
		// Create a composite to hold the children
		GridData gridData = new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_BOTH);
		parent.setLayoutData (gridData);

		// Set numColumns to 3 for the buttons 
		GridLayout layout = new GridLayout(1, true);
		layout.marginWidth = 7;
		parent.setLayout (layout);
		
		createTable(parent);
	    createTableViewer();
	    createActions();
	    createMenu();
	    createToolbar();
	    createContextMenu();
	}   
		private void createTable(Composite parent) {	    
		    int style = SWT.SINGLE|SWT.BORDER|SWT.H_SCROLL|SWT.V_SCROLL|SWT.FULL_SELECTION|SWT.HIDE_SELECTION;			
			table = new Table(parent, style);
			GridData gridData = new GridData(GridData.FILL_BOTH);
			gridData.grabExcessVerticalSpace = true;
			gridData.horizontalSpan = 3;
			table.setLayoutData(gridData);
		    table.setHeaderVisible(true);
		    table.setLinesVisible(true);
	
		    TableColumn column = new TableColumn(table, SWT.LEFT,0);
		    column.setText("Application");
		    column.setWidth(80);
		    column=new TableColumn(table, SWT.LEFT,1);
		    column.setText("ObjectName");
		    column.setWidth(180);
		    column=new TableColumn(table, SWT.LEFT,2);
		    column.setText("Description");
		    column.setWidth(200);
		    column=new TableColumn(table, SWT.LEFT,3);
		    column.setText("ObjectType");
		    column.setWidth(80);
	
//		    for (int i = 0, n = table.getColumnCount(); i < n; i++) {
//		      table.getColumn(i).pack();
//		    }
	}
	private	void createTableViewer(){
	    tv = new TableViewer(table);
	    tv.setContentProvider(new SecurityObjectContentProvider());
	    tv.setLabelProvider(new SecurityObjectLabelProvider());
	    
	    CellEditor[] editors = new CellEditor[4];
	    editors[0] = new TextCellEditor(table);
	    editors[1] = new TextCellEditor(table);
	    editors[2] = new TextCellEditor(table);
	    editors[3] = new TextCellEditor(table); 

//	    // Set the editors, cell modifier, and column properties
	    tv.setColumnProperties(SecurityObjectEditor.PROPS);
	    tv.setCellModifier(new SecurityObjectCellModifier(tv));	    
	    tv.setCellEditors(editors);
	    tv.setInput(getSecurityObject());	    
	}
	
	private	void createActions(){
	    addItemAction = new Action("Add"){
	        public	void run(){
	            addItem();
	        }
	    };
	    deleteItemAction =new Action("Delete"){
	        public	void run(){
	            deleteItem();
	        }
	    };
	    
	}
	private	void addItem(){
      	SecurityObject p = new SecurityObject();
        p.setApplicat("Application");
        p.setObjectName("ObjectName");
		p.setDescription("Description");
		p.setObjectType("ObjectType");
		security.getObject().add(p);
        tv.refresh();
	}
	private void deleteItem(){
	    IStructuredSelection sel=(IStructuredSelection) tv.getSelection();
	    Iterator iter=sel.iterator();
	    while (iter.hasNext()){
	        SecurityObject secu=(SecurityObject)iter.next();
	        security.getObject().remove(secu);
	    }
	    tv.refresh();
	}
	private	void createMenu(){
	    IMenuManager	mgr=getViewSite().getActionBars().getMenuManager();
	    mgr.add(addItemAction);
	    mgr.add(deleteItemAction);
	}
	private	void createToolbar(){
	    IToolBarManager	mgr=getViewSite().getActionBars().getToolBarManager();
	    mgr.add(addItemAction);
	    mgr.add(deleteItemAction);
	}
	private	void createContextMenu(){
	    MenuManager	menuMgr=new MenuManager();
	    menuMgr.setRemoveAllWhenShown(true);
	    menuMgr.addMenuListener(new IMenuListener(){
	        public	void menuAboutToShow(IMenuManager Mgr){
	            	fillContextMenu(Mgr);
	        }
	    });
		// Create menu.
		Menu menu = menuMgr.createContextMenu(tv.getControl());
		tv.getControl().setMenu(menu);	    
		
		// Register menu for extension.
		getSite().registerContextMenu(menuMgr,tv);
	}
	private void fillContextMenu(IMenuManager mgr){
	    mgr.add(addItemAction);
	    mgr.add(deleteItemAction);
	}
	public void setFocus() {}
	public List getSecurityObject(){
		String	ls_des;
		Logon	logon=new	Logon();
		ResultSet resultSet=logon.exesql("select	b.application,a.window,a.description,a.objtype from	security_objects a,security_apps b where	a.appid=b.appid");	
		try {
			while (resultSet.next())
			{	SecurityObject	p=new SecurityObject();
				p.setApplicat(resultSet.getString("application"));
				p.setObjectName(resultSet.getString("window"));
				ls_des=resultSet.getString("description");
				p.setDescription(ls_des);
				p.setObjectType(resultSet.getInt("objtype")+"");				
				security.getObject().add(p);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return	security.getObject();
	}
}

⌨️ 快捷键说明

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