在e4应用程序中的全屏切换问题(仅限mac)

时间:2014-06-23 10:34:53

标签: java macos swt e4

在我的应用程序中,我有一个分隔主视图和详细视图的部分窗框

主视图宽度= 300,详细视图宽度= 300

  1. 假设只有主视图在启动时可见
  2. 您点击全屏按钮 - 这会让您的应用进入全屏模式
  3. 点击按钮或其他内容,将打开详细信息视图(右侧部分)
  4. 点击退出全屏
  5. 使我的应用程序大小不是600
  6. 如果您先打开详细信息视图并进行全屏并退出全屏,则应用宽度为600

    在进入全屏之前有什么尺寸的应用,一旦退出全屏幕就会设置相同的宽度

    退出全屏后,我无法以编程方式设置窗口的宽度

    我试过window.setWidth() - 无效

    有人有任何建议吗?

1 个答案:

答案 0 :(得分:0)

看起来您需要延迟运行代码来设置窗口大小,直到e4 WBWRender类排队的异步代码运行完毕。

由于似乎没有合适的事件可供使用,您可以安排UIJob稍后运行:

UIJob job = new UIJob("set size")
   {
     @Override
     public IStatus runInUIThread(IProgressMonitor monitor)
     {
       window.setWidth(800);

       return Status.OK_STATUS;
     }
  };

job.schedule(2000);

两秒似乎是对我有用的最短时间 - 真的有点躲闪!