我有一个包含一个向导页面的向导对话框。对于不同的屏幕分辨率,向导页面的显示方式有所不同。如果在笔记本电脑或台式机中以不同的屏幕分辨率执行向导页,则会丢失某些向导页内容。
    我在对话框中设置了向导页面大小:
    dialog.setPageSize(700,700);
    但是,尽管这不能正常工作。请让我知道有什么方法可以使向导页面随屏幕分辨率的变化而调整。
    提前致谢。

最佳答案

在您的WizardPage中,您可以使用以下方式重置对话框的大小以匹配内容的首选大小:

private void recalcSize()
{
  Composite dialogAreaComp = (Composite)getControl();

  Shell shell = getShell();

  Point shellSize = shell.getSize();

  dialogAreaComp.layout(true, true);

  Point newSize = shell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);

  if (newSize.x != shellSize.x || newSize.y != shellSize.y)
    shell.setSize(newSize);
}


在页面的recalcSize方法中调用setVisible

10-08 02:58