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

📄 securityobjectseditors.java

📁 用java 实现的IE browser适合于学者
💻 JAVA
字号:
package com.hnjchina.example.editors;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
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.ComboBoxCellEditor;
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.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
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.Composite;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.EditorPart;

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;
import com.hnjchina.securityManager.SecurityObjectSorter;
import com.hnjchina.securityView.Logon;

public class SecurityObjectsEditors extends EditorPart{
    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(3, false);
		layout.marginWidth = 7;
		parent.setLayout (layout);

		createTable(parent);
	    createTableViewer();
	    createActions();
	    createMenu();
	    createToolbar();
	    createContextMenu();
	    setBackground(parent);
	}
		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.addSelectionListener(new SelectionAdapter(){
		        public	void widgetSelected(SelectionEvent e){
		            tv.setSorter(new SecurityObjectSorter(SecurityObjectSorter.OBJECTNAME));
		        }
		    });
		    column=new TableColumn(table, SWT.LEFT,2);
		    column.setText("Description");
		    column.setWidth(200);
		    column.addSelectionListener(new SelectionAdapter(){
		        public	void widgetSelected(SelectionEvent e){
		            tv.setSorter(new SecurityObjectSorter(SecurityObjectSorter.DESCRIPTION));
		        }
		    });
		    column=new TableColumn(table, SWT.LEFT,3);
		    column.setText("ObjectType");
		    column.setWidth(80);

		    table.addKeyListener(new KeyAdapter(){
		        String	ls_ret;
		        public void keyPressed(KeyEvent event){
		            switch (event.keyCode) {
		            case SWT.None:
		                ls_ret="null";
		              case SWT.KeyDown:
		                  ls_ret="key down";
		              case SWT.KeyUp:
		                  ls_ret="key up";
		              case SWT.MouseDown:
		                  ls_ret="mouse down";
		              case SWT.MouseUp:
		                  ls_ret="mouse up";
		              case SWT.MouseMove:
		                  ls_ret="mouse move";
		              case SWT.MouseEnter:
		                  ls_ret="mouse enter";
		              case SWT.MouseExit:
		                  ls_ret="mouse exit";
		              case SWT.MouseDoubleClick:
		                  ls_ret="mouse double click";
		              case SWT.Paint:
		                  ls_ret="paint";
		              case SWT.Move:
		                  ls_ret="move";
		              case SWT.Resize:
		                  ls_ret="resize";
		              case SWT.Dispose:
		                  ls_ret="dispose";
		              case SWT.Selection:
		                  ls_ret="selection";
		              case SWT.DefaultSelection:
		                  ls_ret="default selection";
		              case SWT.FocusIn:
		                  ls_ret="focus in";
		              case SWT.FocusOut:
		                  ls_ret="focus out";
		              case SWT.Expand:
		                  ls_ret="expand";
		              case SWT.Collapse:
		                  ls_ret="collapse";
		              case SWT.Iconify:
		                  ls_ret="iconify";
		              case SWT.Deiconify:
		                  ls_ret="deiconify";
		              case SWT.Close:
		                  ls_ret="close";
		              case SWT.Show:
		                  ls_ret="show";
		              case SWT.Hide:
		                  ls_ret="hide";
		              case SWT.Modify:
		                  ls_ret="modify";
		              case SWT.Verify:
		                  ls_ret="verify";
		              case SWT.Activate:
		                  ls_ret="activate";
		              case SWT.Deactivate:
		                  ls_ret="deactivate";
		              case SWT.Help:
		                  ls_ret="help";
		              case SWT.DragDetect:
		                  ls_ret="drag detect";
		              case SWT.Arm:
		                  ls_ret="arm";
		              case SWT.Traverse:
		                  ls_ret="traverse";
		              case SWT.MouseHover:
		                  ls_ret="mouse hover";
		              case SWT.HardKeyDown:
		                  ls_ret="hard key down";
		              case SWT.HardKeyUp:
		                  ls_ret="hard key up";
		              case SWT.MenuDetect:
		                  ls_ret="menu detect";
		            }
		            System.out.println(ls_ret);
		        }
		    });
		    table.addMouseListener(new MouseAdapter() {
		        public void mouseDoubleClick(MouseEvent e) {//鼠标双击事件的方法
		            System.out.println("MouseDoubleClick");
		        }
		        public	void	MouseUp(MouseEvent e){
		            System.out.println("MouseEvent");
		        }
		    });
	}
	private	void createTableViewer(){
	    tv = new TableViewer(table);
	    tv.setContentProvider(new SecurityObjectContentProvider());
	    tv.setLabelProvider(new SecurityObjectLabelProvider());
	    
	    CellEditor[] editors = new CellEditor[4];
		editors[0] = new ComboBoxCellEditor(table,security.getApplictArray(), SWT.READ_ONLY);
	    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());
//	    tv.setInput(security.getObject());
	    addItem();
	    addItem();
	    addItem();
	}
	
	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();
        table.setTopIndex(table.getTopIndex());
	}
	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=getEditorSite().getActionBars().getMenuManager();
	    mgr.add(addItemAction);
	    mgr.add(deleteItemAction);
	}
	private	void createToolbar(){
	    IToolBarManager	mgr=getEditorSite().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 String[] getChoices(String property) {
		if ("Application".equals(property))
			return security.getApplictArray();
		else
			return new String[]{};
	}
	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();
	}
	
    public void doSave(IProgressMonitor monitor) {}
    public void doSaveAs() {  }
    public void init(IEditorSite site, IEditorInput input) throws PartInitException {
        setSite(site);
    }
    public boolean isDirty() {
        return false;
    }
    public boolean isSaveAsAllowed() {
        return false;
    }
    public	void	setBackground(Composite parent){
        TableItem	item[];
        item=table.getItems();
        for	(int i=0;i<item.length;i++){
            if	(i%2==1) {
            item[i].setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_GREEN));
//            item[i].setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_GREEN));
            }
        }
    }
}

⌨️ 快捷键说明

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