首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使MacOS中的主javafx窗口仍然可以从全屏模式返回

如何使MacOS中的主javafx窗口仍然可以从全屏模式返回
EN

Stack Overflow用户
提问于 2017-11-24 15:33:21
回答 3查看 640关注 0票数 1

这个问题是关于JavaFX (jdk-9.0.1) on MacOS (我运行塞拉)。我正在开发一个带有可调整大小的主窗口primaryStage.setResizable(true)的x平台桌面应用程序,在我单击小绿色按钮see picture below进入全屏模式,然后再回到正常模式后,窗口的大小调整不再可能了。在MacOS上从全屏模式返回后,如何使它仍然可调整大小?它在Windows和Linux上工作,但在MacOS上不起作用。任何帮助都是非常感谢的。

编辑1:该问题现在已在bugs.java.com上报告并在以下url JDK-8191885上可见

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-12-19 16:41:15

谢谢米帕!我发现将侦听器添加到fullScreenProperty()中更好,这样就不必单击标题栏并将其移动几个像素。关键是完成setResizable(false),然后是setResizable(true),谢谢您的发现。在修复bug之前,我将使用这个解决方法:

代码语言:javascript
运行
复制
    primaryStage.fullScreenProperty().addListener((v,o,n) -> {

        if (!primaryStage.isFullScreen()) {

            primaryStage.setResizable(false);
            primaryStage.setResizable(true);
        }
    });
票数 0
EN

Stack Overflow用户

发布于 2017-12-18 15:02:17

由于在Java 11之前甚至还没有修复此bug的计划,我们可能需要使用它很长一段时间。因此,我试图为它找到某种解决办法,这就是:

添加这个或类似于您的代码的内容。

代码语言:javascript
运行
复制
primaryStage.maximizedProperty().addListener((v,o,n) -> {
    primaryStage.setResizable(false);
    primaryStage.setResizable(true);
});

一旦你通过绿色按钮去最大化你的舞台,你唯一需要做的就是手动点击你的舞台的标题栏,并移动它几个像素。在此之后,阶段应该与鼠标重新调整大小,就像往常一样。这是一种令人讨厌的黑客攻击,但总比永远忍受这个错误要好。

票数 1
EN

Stack Overflow用户

发布于 2017-11-24 17:47:24

这看起来像JavaFX中的一个bug。我可以用JDK9和10 can复制这种行为。不过,对于最新的JDK8来说,它似乎仍然有效。我还没有找到任何工作方法。你应该向http://bugreport.java.com/报告这件事

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47476328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档