-
Enhancement
-
Resolution: Unresolved
-
P4
-
11, 12, 13, 14
-
x86
-
os_x
A DESCRIPTION OF THE PROBLEM :
If I understand correctly from readingJDK-8048731 and JDK-8143914, the latter was supposed to allow macOS "native" full-screen mode to be activated by calling setExtendedState(MAXIMIZED_BOTH), exposing similar functionality to the now-deprecated com.apple.eawt.Application.requestToggleFullScreen() method. However, I was never able to make it work, and in looking at the JDK code, I don't see how it can possibly work. The com.apple.eawt.Application.requestToggleFullScreen() method hooks into PlatformWindow.toggleFullScreen(). The new code implemented in JDK-8143914 provides additional hooks into CPlatformWindow.toggleFullScreen(), but they appear to be activated only if:
1. getRootPane().putClientProperty("apple.awt.fullscreenable", false) is called and the window is already in full-screen mode, or
2. setResizable(false) is called and the window is already in full-screen mode.
That does not expose the same functionality to applications as com.apple.eawt.Application.requestToggleFullScreen(). Even if it did, it could not replace com.apple.eawt.FullScreenListener, which is needed in order for applications to be notified when full-screen mode is activated or deactivated.
If I understand correctly from reading
1. getRootPane().putClientProperty("apple.awt.fullscreenable", false) is called and the window is already in full-screen mode, or
2. setResizable(false) is called and the window is already in full-screen mode.
That does not expose the same functionality to applications as com.apple.eawt.Application.requestToggleFullScreen(). Even if it did, it could not replace com.apple.eawt.FullScreenListener, which is needed in order for applications to be notified when full-screen mode is activated or deactivated.
- relates to
-
JDK-8143914 Provide Mac-specific fullscreen support
- Resolved