无法在 SWT 中保留 shell 大小
Unable to retain shell size in SWT
我有一个 SWT 应用程序,其中向用户显示了一个记录器 window。这个 window 里面有一个 table 并且被分成几列。我的要求是,如果用户更改列大小或 shell(window 大小)然后关闭 window,则应保留 window 和列的大小下次他打开相同的 window 以便保留他对大小的偏好。我可以通过使用
为 table 的列实现此目的
TableColumn[] columns = viewer.getTable().getColumns();
LogViewerColumnSize.INSTANCE.setColumnProperties(columns);
当我再次打开 shell 时,我正在设置数据中每列的大小。
但是,我无法获得 shell。
我尝试了以下方式 -
LogViewerColumnSize.INSTANCE.setLoggerSize(shell.getSize());
当我再次打开 shell -
Point shellSize = LogViewerColumnSize.INSTANCE.getLoggerSize();
if(shellSize != null)
shell.setSize(shellSize);
正在重新设置shell尺寸的默认值。
请帮忙。
如果您在此 setSize
调用之后调用 Shell.pack()
,则 pack
调用将使用计算的默认大小覆盖 setSize
调用时的大小。
所以如果你设置了大小就不要调用pack
。
我有一个 SWT 应用程序,其中向用户显示了一个记录器 window。这个 window 里面有一个 table 并且被分成几列。我的要求是,如果用户更改列大小或 shell(window 大小)然后关闭 window,则应保留 window 和列的大小下次他打开相同的 window 以便保留他对大小的偏好。我可以通过使用
为 table 的列实现此目的TableColumn[] columns = viewer.getTable().getColumns();
LogViewerColumnSize.INSTANCE.setColumnProperties(columns);
当我再次打开 shell 时,我正在设置数据中每列的大小。 但是,我无法获得 shell。 我尝试了以下方式 -
LogViewerColumnSize.INSTANCE.setLoggerSize(shell.getSize());
当我再次打开 shell -
Point shellSize = LogViewerColumnSize.INSTANCE.getLoggerSize();
if(shellSize != null)
shell.setSize(shellSize);
正在重新设置shell尺寸的默认值。
请帮忙。
如果您在此 setSize
调用之后调用 Shell.pack()
,则 pack
调用将使用计算的默认大小覆盖 setSize
调用时的大小。
所以如果你设置了大小就不要调用pack
。