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

📄 sampleview.java

📁 learn to use eclipse by example
💻 JAVA
字号:
package org.eclipsebook.ch12.Ch1202.views;import org.eclipse.swt.widgets.Composite;import org.eclipse.ui.part.*;import org.eclipse.jface.viewers.*;import org.eclipse.swt.graphics.Image;import org.eclipse.jface.action.*;import org.eclipse.jface.dialogs.MessageDialog;import org.eclipse.ui.*;import org.eclipse.swt.widgets.Menu;import org.eclipse.core.resources.ResourcesPlugin;import org.eclipse.swt.SWT;public class SampleView extends ViewPart {	private TableViewer viewer;	private Action action1;	private Action action2;	private Action doubleClickAction;	class ViewContentProvider implements IStructuredContentProvider {		public void inputChanged(Viewer v, Object oldInput, Object newInput) {		}		public void dispose() {		}		public Object[] getElements(Object parent) {			return new String[] {"Item 1", "Item 2", "Item 3", "Item 4" };		}	}	class ViewLabelProvider extends LabelProvider implements ITableLabelProvider {		public String getColumnText(Object obj, int index) {			return getText(obj);		}		public Image getColumnImage(Object obj, int index) {			return getImage(obj);		}		public Image getImage(Object obj) {			return PlatformUI.getWorkbench().					getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT);		}	}	class NameSorter extends ViewerSorter {	}	public SampleView() {	}	public void createPartControl(Composite parent) {		viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);		viewer.setContentProvider(new ViewContentProvider());		viewer.setLabelProvider(new ViewLabelProvider());		viewer.setSorter(new NameSorter());		viewer.setInput(ResourcesPlugin.getWorkspace());		makeActions();		hookContextMenu();		hookDoubleClickAction();		contributeToActionBars();	}	private void hookContextMenu() {		MenuManager menuMgr = new MenuManager("#PopupMenu");		menuMgr.setRemoveAllWhenShown(true);		menuMgr.addMenuListener(new IMenuListener() {			public void menuAboutToShow(IMenuManager manager) {				SampleView.this.fillContextMenu(manager);			}		});		Menu menu = menuMgr.createContextMenu(viewer.getControl());		viewer.getControl().setMenu(menu);		getSite().registerContextMenu(menuMgr, viewer);	}	private void contributeToActionBars() {		IActionBars bars = getViewSite().getActionBars();		fillLocalPullDown(bars.getMenuManager());		fillLocalToolBar(bars.getToolBarManager());	}	private void fillLocalPullDown(IMenuManager manager) {		manager.add(action1);		manager.add(new Separator());		manager.add(action2);	}	private void fillContextMenu(IMenuManager manager) {		manager.add(action1);		manager.add(action2);		manager.add(new Separator("Additions"));	}		private void fillLocalToolBar(IToolBarManager manager) {		manager.add(action1);		manager.add(action2);	}	private void makeActions() {		action1 = new Action() {			public void run() {				ISelection selection = viewer.getSelection();				Object obj = ((IStructuredSelection)selection).getFirstElement();				showMessage("You selected  " + obj.toString());			}		};		action1.setText("Action 1");		action1.setToolTipText("Action 1 tooltip");		action1.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().			getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));				action2 = new Action() {			public void run() {				showMessage("Action 2 executed");			}		};		action2.setText("Action 2");		action2.setToolTipText("Action 2 tooltip");		action2.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().			getImageDescriptor(ISharedImages.IMG_OBJS_TASK_TSK));		doubleClickAction = new Action() {			public void run() {				ISelection selection = viewer.getSelection();				Object obj = ((IStructuredSelection)selection).getFirstElement();				showMessage("You double-clicked " + obj.toString());			}		};	}	private void hookDoubleClickAction() {		viewer.addDoubleClickListener(new IDoubleClickListener() {			public void doubleClick(DoubleClickEvent event) {				doubleClickAction.run();			}		});	}	private void showMessage(String message) {		MessageDialog.openInformation(			viewer.getControl().getShell(),			"Sample View",			message);	}	public void setFocus() {		viewer.getControl().setFocus();	}}

⌨️ 快捷键说明

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