其实一般情况下,在Perspective 中添加View的时候,是新建一个Folder,然后再把View添加到Folder当中的。
String editorArea
=
layout.getEditorArea();
layout.setEditorAreaVisible(
true
);
IFolderLayout left
=
layout.createFolder(
"
left
"
, IPageLayout.LEFT,
0.4f
, editorArea);
//
新建一个Folder
left.addView(IPageLayout.ID_RES_NAV);
//
resource navigator
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
注意createFolder方法,有四个参数:
第一个是Folder的ID,自己随便指定,不要重复就可以了;
第二个是和参考之间的关系。(IPageLayout中指定了四个常量,分别代表上下左右)
第三个是一个比例,它指定了新加的Folder占用参考的大小比例。(例如0.25f表示占去参考部分大小的25%)
第四个是参考部分的ID,它指定了上面两点提到的那个参考,一般情况下,如上例它使用EditorArea。当然也可以使用你已经添加了的其他Folder或者View的ID,那样新加的Folder就占用指定的那个Folder或者View的空间。
PS:如果你设置了RCP程序启动后自动最大化的话,你会发现这个比例是不准确的?这是因为在workbenchWindow里面有:
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
而在计算folder的大小的时候,是根据这里设置的值来指定的(即使最大化了)。