JavaFx window 到 AWT window

JavaFx window to AWT window

我写了一个程序,我想在 Mac 上禁用全屏,但标准苹果库不起作用。因为它需要一个 AWT window 而不是我的 javafx :

if(System.getProperty("os.name").toLowerCase().indexOf("mac") >= 0){
        com.apple.eawt.FullScreenUtilities.setWindowCanFullScreen(stage.getScene().getWindow(), false);
}

您能解释一下如何将 javafx window 转换为 awt window。如果不能,你能为我推荐另一个用于 setWindowCanFullScreen 的苹果库,但带有 javafx

转换是个坏主意。

尝试这样的事情:

if(MAC) stage.setFullScreen(false);
stage.fullScreenProperty().addListener(new ChangeListener<Boolean>(){
        public void changed(ObservableValue<? extends Boolean> ov, Boolean oldv, Boolean newv){
            Platform.runLater(new Runnable(){
                public void run(){
                    if(MAC && oldv==false && newv==true)stage.setFullScreen(false);
                }
            });
        }
});

编辑:没有 "small delay" 的解决方案对我们来说仍然未知且有趣!