📄 view.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 + -