2011-11-27 45 views
0

我有一个RCP应用程序,其中我通过覆盖ApplicationWorkbenchWindowAdvisor类中的postWindowCreate()方法更改了窗口(shell)的位置及其大小,视图不适合更改后的窗口大小,要查看所有窗口小部件,或者必须最大化窗口或移动视图的滚动条以查看视图内的所有窗口小部件,是否可以自动调整(显示所有窗口小部件当前窗口大小,而不移动滚动条或最大化窗口)视图中的小部件,即使屏幕大小不同。如何自动在一个视图中的窗口小部件自动变化的窗口大小

+1

设置好你的shell的大小和位置后,你在做'shell.layout()'吗? –

+0

不,我没有保罗 – srk

回答

3

通常情况下,你改变了外壳的大小WorkbenchWindowAdvisor.preWindowOpen(),而不是在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()

相关问题