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

📄 view.java

📁 对于可视的桌面开发系统的一些详细的设计资料
💻 JAVA
字号:
package gr.osmosis.rcpsamples.pojoeditor;

import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.part.ViewPart;

public class View extends ViewPart {
	public static final String ID = "gr.osmosis.rcpsamples.pojoeditor.view";

	private TableViewer viewer;

	/**
	 * The content provider class is responsible for providing objects to the
	 * view. It can wrap existing objects in adapters or simply return objects
	 * as-is. These objects may be sensitive to the current input of the view,
	 * or ignore it and always show the same content (like Task List, for
	 * example).
	 */
	class ViewContentProvider implements IStructuredContentProvider {
		public void inputChanged(Viewer v, Object oldInput, Object newInput) {
		}

		public void dispose() {
		}

		public Object[] getElements(Object parent) {
			
			Contact c1 = new Contact("Stavros", "Kounis", "6973216110");
			c1.setAddress("Karaiskaki 1");
			c1.setCity("Serres");
			c1.setZip("62123");
			Contact c2 = new Contact("Dimitris", "Adamos", "6977321561");
			c2.setAddress("Delphon 87");
			c2.setCity("Thessaloniki");
			c2.setZip("54145");
			Contact c3 = new Contact("Nikos", "Koufotolis", "6973212311");
			c3.setAddress("Lefkonas");
			c3.setCity("Serres");
			c3.setZip("62100");
			
			return new Contact[] {c1, c2, c3};			
		}
	}

	class ViewLabelProvider extends LabelProvider implements
			ITableLabelProvider {
		
		public String getColumnText(Object obj, int index) {
			//return ojb.toString()
			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_FILE);
		}
	}

	/**
	 * This is a callback that will allow us to create the viewer and initialize
	 * it.
	 */
	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.setInput(getViewSite());
		viewer.addDoubleClickListener(new IDoubleClickListener(){
			
			public void doubleClick(org.eclipse.jface.viewers.DoubleClickEvent event) {
				
				System.out.println("Double click on:" + event.getSelection().toString());

				try{	
					Contact c = null;
					try {
					
						c = (Contact) ((StructuredSelection)event.getSelection()).getFirstElement();
					}catch (Exception e){
						e.printStackTrace();
						c = null;
					}
					IEditorInput input = new ContactEditorInput(c);
										
					getViewSite().getWorkbenchWindow().getActivePage().openEditor(input, Editor.ID);
					
				}catch (Throwable e){
					e.printStackTrace();
				}

			};
		});
	}

	/**
	 * Passing the focus request to the viewer's control.
	 */
	public void setFocus() {
		viewer.getControl().setFocus();
	}
}

⌨️ 快捷键说明

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