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

Java e4应用程序中的全屏切换问题(仅限mac),java,macos,swt,e4,Java,Macos,Swt,E4,在我的应用程序中,我有一个部分窗框,它将主视图和详细视图分开 主视图宽度=300,局部视图宽度=300 假设只有主视图在启动时可见 你点击全屏按钮-这使你的应用程序进入全屏模式 点击一个按钮或什么,细节视图(右部分)将打开 单击退出全屏 使我的应用程序大小为300而不是600 如果您先打开详细信息视图,然后全屏显示并退出全屏,则应用程序宽度为600 在进入全屏之前,应用程序的大小是多少?一旦退出全屏,则设置相同的宽度 退出全屏后,我无法以编程方式设置窗口宽度 我尝试了window.setWidt

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

主视图宽度=300,局部视图宽度=300

  • 假设只有主视图在启动时可见
  • 你点击全屏按钮-这使你的应用程序进入全屏模式
  • 点击一个按钮或什么,细节视图(右部分)将打开
  • 单击退出全屏
  • 使我的应用程序大小为300而不是600
  • 如果您先打开详细信息视图,然后全屏显示并退出全屏,则应用程序宽度为600

    在进入全屏之前,应用程序的大小是多少?一旦退出全屏,则设置相同的宽度

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

    我尝试了
    window.setWidth()
    -不起作用


    有人有什么建议吗?

    看起来您需要延迟运行代码来设置窗口大小,直到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);
    

    对我来说,两秒钟似乎是最短的——真的有点不对劲

    这是将应用程序移动到单独“空间”的仅Mac全屏按钮(位于标题栏右侧)?是的,这将移动到单独的“空间”!!!(通过单击标题栏右上角的按钮)我尝试在shell_1.addListener(SWT.resize,new Listener()中调整应用程序的大小,但是没有work@greg-449有什么建议吗?我做了同样的事情,但用户可以看到调整大小的延迟,还有其他方法吗?