admin管理员组文章数量:1130349
关闭当前(Active)视图和关闭所有视图
关闭视图一般是将视图隐藏(hide)起来。直接看代码:1.关闭当前(Active)视图
public class CloseAction extends Action
{
public CloseAction()
{
setText("Close");
setActionDefinitionId("org.eclipse.ui.file.close");//通常建议设置
}
public void run()
{
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
System.out.println(page.getActivePart().getTitle());
IWorkbenchPart part = page.getActivePart();//获取的当前IWorkbenchPart可能是IEditorPart(编辑器),也可能是IViewPart(视图)。所以需要在下面做一个instanceof判断。当然IWorkbenchPage中也提供了直接获取当前IEditorPart的方法。
if (part instanceof IViewPart)
page.hideView((IViewPart)part);
}
}
2.关闭所有视图
关闭所有视图是先获取所有视图的一个IViewReference数组来做的。也是将ViewPart隐藏(hide)
public class CloseAllAction extends Action
{
public CloseAllAction()
{
setText("Close All");
setActionDefinitionId("org.eclipse.ui.file.closeAll");
}
public void run()
{
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IViewReference[] refs = page.getViewReferences();//不是直接获取ViewPart,实际上IWorkbenchPage中也确实提供了获取所有视图的方法,但这里获取的是IViewPeference。
for (int i = 0; i < refs.length; i++)
{
IWorkbenchPart part = refs[i].getPart(false);//获取视图
if (part instanceof IViewPart)
page.hideView((IViewPart)part);
}
}
}
关闭当前(Active)视图和关闭所有视图
关闭视图一般是将视图隐藏(hide)起来。直接看代码:1.关闭当前(Active)视图
public class CloseAction extends Action
{
public CloseAction()
{
setText("Close");
setActionDefinitionId("org.eclipse.ui.file.close");//通常建议设置
}
public void run()
{
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
System.out.println(page.getActivePart().getTitle());
IWorkbenchPart part = page.getActivePart();//获取的当前IWorkbenchPart可能是IEditorPart(编辑器),也可能是IViewPart(视图)。所以需要在下面做一个instanceof判断。当然IWorkbenchPage中也提供了直接获取当前IEditorPart的方法。
if (part instanceof IViewPart)
page.hideView((IViewPart)part);
}
}
2.关闭所有视图
关闭所有视图是先获取所有视图的一个IViewReference数组来做的。也是将ViewPart隐藏(hide)
public class CloseAllAction extends Action
{
public CloseAllAction()
{
setText("Close All");
setActionDefinitionId("org.eclipse.ui.file.closeAll");
}
public void run()
{
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IViewReference[] refs = page.getViewReferences();//不是直接获取ViewPart,实际上IWorkbenchPage中也确实提供了获取所有视图的方法,但这里获取的是IViewPeference。
for (int i = 0; i < refs.length; i++)
{
IWorkbenchPart part = refs[i].getPart(false);//获取视图
if (part instanceof IViewPart)
page.hideView((IViewPart)part);
}
}
}
本文标签: 关闭当前(Active)视图和关闭所有视图
版权声明:本文标题:关闭当前(Active)视图和关闭所有视图 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/IT/1694684993a255048.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论