<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000066" bgcolor="#FFFFFF">
    <p><tt>I looked at the code that supposedly implements the new
        behavior (activating full-screen mode with
        setExtendedState(MAXIMIZED_BOTH).)  That code appears unchanged
        in OpenJDK 11 vs. OpenJDK 9, where it was introduced.  I don't
        see how the code could possibly duplicate the functionality of </tt><tt><tt>com.apple.eawt.Application.requestToggleFullScreen().</tt></tt><tt> 
        The com.apple.eawt.Application.requestToggleFullScreen() method
        hooks into CPlatformWindow.toggleFullScreen().  The new code
        implemented in </tt><tt><a
          href="https://bugs.openjdk.java.net/browse/JDK-8143914">JDK-8143914</a>
        provides additional hooks into
        CPlatformWindow.toggleFullScreen(), but they appear to be
        activated only if:  <br>
      </tt></p>
    <p><tt>1.
        getRootPane().putClientProperty("apple.awt.fullscreenable",
        false) is called and the window is already in full-screen mode,
        or<br>
      </tt></p>
    <p><tt>2. setResizable(false) is called and the window is already in
        full-screen mode.</tt></p>
    <p><tt>That does not expose the same functionality to applications
        as </tt><tt><tt>com.apple.eawt.Application.requestToggleFullScreen(). 
          Even if it did, </tt>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.<br>
      </tt></p>
    <p><tt><br>
      </tt></p>
    <div class="moz-cite-prefix">On 7/22/19 4:58 PM, Sergey Bylokhov
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:08ae5bb7-52a8-d8b1-9fc5-f9268b31d5a0@oracle.com">Hi,
      DRC. <br>
      <br>
      I guess this feature have to be implemented by this CR: <br>
      <a class="moz-txt-link-freetext"
        href="https://bugs.openjdk.java.net/browse/JDK-8143914">https://bugs.openjdk.java.net/browse/JDK-8143914</a>
      <br>
      <br>
      The idea was to use the sequence of: "setExtendedState() +
      MAXIMIZED_BOTH" <br>
      to toggle the "fullscreen" window. And use the client property to
      enable/disable <br>
      this functionality. But it looks like something has changed since
      then, and <br>
      the window does not move to the "fullscreen" when we zoom it. <br>
      Please file a bug for this. <br>
      <br>
      Interesting that the "fullscreen" works fine if the user clicks on
      the zoom button. <br>
      <br>
      <br>
      On 20/07/2019 17:03, DRC wrote: <br>
      <blockquote type="cite">I've been beating my head against the wall
        about this for quite a while, <br>
        but I can't figure out how to programmatically toggle "Lion
        Full-Screen <br>
        Mode" (i.e. "Full-Screen Mode Using Spaces") on macOS without
        using the <br>
        deprecated com.apple.eawt.FullScreen* classes, which are
        problematic at <br>
        best when including a custom JRE in my app using jlink.  I
        looked at the <br>
        OpenJDK 12 source, and it doesn't appear that the native code to
        do this <br>
        toggling has any other touch points besides the <br>
        com.apple.eawt.FullScreen* classes.  What am I missing?  The
        problem is <br>
        that, because I'm writing a remote desktop client, I have to
        provide <br>
        users with a way to switch in and out of full-screen mode with a
        <br>
        keystroke and menu option, and I also have to be able to detect
        when the <br>
        user clicks the full-screen button in the window's titlebar.  I
        don't <br>
        know how to do that without invoking <br>
        com.apple.eawt.FullScreenListener.addFullScreenListenerTo() and
        <br>
        com.apple.eawt.Application.requestToggleFullScreen().  Any
        advice is <br>
        appreciated. <br>
        <br>
        DRC <br>
        <br>
      </blockquote>
      <br>
      <br>
    </blockquote>
    <br>
  </body>
</html>