Java 无法在SWT中保留外壳大小
我有一个SWT应用程序,其中向用户显示一个记录器窗口。此窗口中有一个表,并分为几列。我的要求是,如果用户更改了列大小或外壳(窗口大小),然后关闭窗口,那么下次打开同一窗口时,应保留窗口和列的大小,以便保留其对大小的偏好。我可以通过使用Java 无法在SWT中保留外壳大小,java,swt,Java,Swt,我有一个SWT应用程序,其中向用户显示一个记录器窗口。此窗口中有一个表,并分为几列。我的要求是,如果用户更改了列大小或外壳(窗口大小),然后关闭窗口,那么下次打开同一窗口时,应保留窗口和列的大小,以便保留其对大小的偏好。我可以通过使用 TableColumn[]columns=viewer.getTable().getColumns(); LogViewerColumnSize.INSTANCE.setColumnProperties(列); 当我再次打开shell时,我正在根据数据设置每列的
TableColumn[]columns=viewer.getTable().getColumns();
LogViewerColumnSize.INSTANCE.setColumnProperties(列);
当我再次打开shell时,我正在根据数据设置每列的大小。
然而,同样的,我不能得到的外壳。
我试过下面的方法-
LogViewerColumnSize.INSTANCE.setLoggerSize(shell.getSize());
当我再次打开外壳时-
Point shellSize=LogViewerColumnSize.INSTANCE.getLoggerSize();
if(外壳大小!=null)
外壳尺寸(外壳尺寸);
它将再次设置为外壳大小的默认值
请提供帮助。如果您正在调用
Shell.pack()
在此之后调用setSize
调用pack
将使用计算的默认大小覆盖调用setSize
时的大小
因此,如果您已经设置了尺寸,请不要致电
pack
。谢谢greg!!现在一切正常!