Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8228638

Replacement for com.apple.eawt.FullScreen*

XMLWordPrintable

    • x86
    • os_x

      A DESCRIPTION OF THE PROBLEM :
      If I understand correctly from reading JDK-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.


            achung Alisen Chung
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: