在rcp插件之中视图间的信息怎么传递到其他视图中的呢?在打开视图的方式中也没有参数机关方式 , 插件中利用监听来传递参数 。 我写的经验对你进修java有帮忙的话 , 给我投票、点赞或者保藏!
1eclipse中表格(table)隔行变色
1eclipse中怎么利用自界说Dialog窗口
1mysql数据库怎么利用游标
需要这些哦
eclipse
方式/
1新建一个插件项目 , 项目标名称为jianting.

2在项目中新建2个视图view1 , view2 , 打开Perspective.java这个文件 , 把视图打开 。
IFolderLayout left=layout.createFolder("left", IPageLayout.LEFT, 0.5f, IPageLayout.ID_EDITOR_AREA);
left.addView(view1.ID);
IFolderLayout bottom=layout.createFolder("bottom", IPageLayout.BOTTOM, 0.5f, IPageLayout.ID_EDITOR_AREA);
bottom.addView(view2.ID);

3在view1视图中成立一个发送类:
public class fasong implements ISelectionProvider{
List<ISelectionChangedListener> listeners = new ArrayList<ISelectionChangedListener>();
ISelection theselection = StructuredSelection.EMPTY;
@Override
public void addSelectionChangedListener(ISelectionChangedListener listener) {
listeners.add(listener);
}
@Override
public ISelection getSelection() {
return theselection;
}
@Override
public void removeSelectionChangedListener(ISelectionChangedListener listener) {
listeners.remove(listener);
}
@Override
public void setSelection(ISelection selection) {
if(selection==null){
return;
}
theselection = selection;
final SelectionChangedEvent e = new SelectionChangedEvent(this, selection);
Object[] listenersArray = listeners.toArray();
for (int i = 0; i < listenersArray.length; i++) {
【rcp视图之间使用监听传递参数】 final ISelectionChangedListener l = (ISelectionChangedListener) listenersArray[0];
l.selectionChanged(e);
}
}
}

4在view1视图初始化时 , 把发送类注册到视图中:
fasong fa=new fasong();
this.getSite().setSelectionProvider(fa);

5编纂text key的事务 , 当有键按下时 , 把获得文本发送出去 。
ISelection st=new StructuredSelection(((Text)e.getSource()).getText());
fa.setSelection(st);

6在view2视图中写监听类 , 把监听的字符串显示在text中 。
public class jieshou implements ISelectionListener{
@Override
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
if(selection!=null ){
IStructuredSelection st = (IStructuredSelection)selection;
text.setText((String) st.getFirstElement());
}
}
}
猜你喜欢
- 在Word中如何缩短编号与内容之间的距离
- 两台笔记本电脑之间如何互传文件
- 对哔哩哔哩首页视图排列方式不满意该怎么办
- 怎么设置字之间的距离
- 怎么解决eclipse rcp导出项目中文乱码
- 昙花几点开花时间
- eclipse rcp 插件项目导出
- 交换机和路由器猫之间怎样连接
- 山西与陕西之间发生了什么?
- 视频片段与片段之间怎么添加转场特效
