我正在开发Eclipse(3.X)RCP应用程序。我正在尝试实现一种在预定义的占位符(IFolderLayout)中显示ViewPart的方法。但这是问题所在,每当我最初启动应用程序时,占位符都会在应用程序中显示为深灰色区域。我不希望在我的应用程序启动时显示该占位符。我只希望在我调用ViewPart时显示占位符。我一直在寻找实现这一目标的方法。我知道,由于IFolderLayout不持久,因此在关闭ViewPart时它会关闭。这是理想的效果,但是我不希望在启动应用程序时显示IFolderLayout。我的代码是在覆盖的createInitialLayout(IPageLayout layout)方法中创建的

澄清一下:假设我有一个占据整个屏幕的视图。当我单击按钮时,另一个ViewPart出现在下半部分,将原始视图向上推以为新的ViewPart腾出空间,以便它们均等地显示。我不希望在应用程序启动时显示IFolderLayout占位符。

这是我的占位符代码:

IFolderLayout bottomHalf = layout.createFolder(args here);
bottomHalf.addPlaceHolder(BottomHalfView.ID);


对此事的任何帮助将不胜感激!

最佳答案

不用调用layout.createFolder(),而是使用相同的参数但返回类型不同的方法调用layout.createPlaceholderFolder()

IPlaceholderFolderLayout bottomHalf = layout.createPlaceholderFolder( ... );
bottomHalf.addPlaceHolder(BottomHalfView.ID);

08-08 01:08