mport org.eclipse.swt.internal.SWTEventListener;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.part.ViewPart;
import org.eclipse.swt.*;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.SWT;
public class View1 extends ViewPart{
private List list;
public void createPartC1ontrol(Composite parent){
Composite topComp=new Composite(parent,SWT.NONE);
topComp.setLayout(new FillLayout());
List list=new List(topComp,SWT.BORDER);
list.add("中国");
list.add("美国");
list.add("法国");
list.addSelectionListener(new [color=red]SelectionListener[/color](){
public void widgeSelected(SelectionEvent e){
IWorkbenchPage wbp=getViewSite().getPage();
IViewPart view2=wbp.findView("myplug.actions.View2");
Text text=((View2)view2).getText();
text.setText(list.getSelection()[0]);
}
public void widgetDefaultSelected(SelectionEvent e){}
});
}
public void setFocus(){}
@Override
public void createPartControl(Composite parent) {
// TODO 自动生成方法存根
}
}
红色显示的部分就是问题所在,如果根据eclipse的建议修改会增加其他错误。
[b]问题补充:[/b]
根据eclipse的建议导入该类后,错误会增加、
可能是因为你没有实现SelectionListener接口中所有需要实现的方法。
你需要实现所有这些接口方法,或者使用new SelectionAdapter()
[url]http://www.diybl.com/course/3_program/java/javashl/2008511/115561.html[/url]
[code="java"]import org.eclipse.swt.internal.SWTEventListener;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.part.ViewPart;
import org.eclipse.swt.*;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.SWT; [/code]
好象是没有导入SelectionListener类。
或者参考下面链接:[url]http://tech.ddvip.com/2006-11/116402292311226.html[/url]
发现楼主的主要问题在于
[code="java"]public void widgeSelected(SelectionEvent e){ [/code]
这个应该是
[code="java"]public void widgetSelected(SelectionEvent e){ [/code]