我有一个RCP应用程序,我通过覆盖ApplicationWorkbenchWindowAdvisor类中的postWindowCreate()方法来改变窗口(shell)的位置及其大小,视图中的小部件不适合更改的窗口大小,以查看所有窗口小部件要么我必须最大化窗口或移动视图的滚动条以查看视图内的所有窗口小部件,是否可以自动适应(以当前窗口大小显示所有窗口小部件而不移动滚动条或最大化窗口)即使屏幕大小不同,视图中的小部件也是如此。
答案 0 :(得分:3)
通常,您更改WorkbenchWindowAdvisor.preWindowOpen()
中的shell大小,而不是WorkbenchWindowAdvisor.postWindowCreate()
中的大小:
public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
@Override
public void preWindowOpen() {
final IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
configurer.setInitialSize(new Point(800, 600));
configurer.setShowCoolBar(false);
configurer.setShowStatusLine(false);
// configurer.setShellStyle(SWT.TITLE | SWT.RESIZE);
}
}
同样,您可以设置窗口标题和窗口样式。
窗口的位置通常最好在WorkbenchWindowAdvisor.postWindowCreate()
...
如果您必须更改窗口大小,请记得致电shell.pack()
!