JDK-8207390 : Command + ~ does not cycle through all application windows
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 8u131,9,10,11,12
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: os_x
  • CPU: x86_64
  • Submitted: 2018-07-06
  • Updated: 2018-09-25
  • Resolved: 2018-07-20
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 12
12Resolved
Related Reports
Duplicate :  
Description
A DESCRIPTION OF THE PROBLEM :
Prior to Java 8 Update 131 pressing Command + ~ on the Mac would cycle through all JFrames created by a Java application.  This was consistent with the behavior of native Apps.  As of this update, pressing Command + ~ merely switches back and forth between a pair of JFrames.

This most likely related to the following note in the Java Update 131 Release Highlights:

Bug Fix: Introduce new window ordering model ...


STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Run the test case.  It will open three JFrames
2. Press Command + ~ repeatedly

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Expect Command + ~ to cycle through the three JFrames
ACTUAL -
Instead it merely switches back and forth between two of them.

---------- BEGIN SOURCE ----------
import javax.swing.*;

public class JavaFrames {

    public static void main(String s[]) {
        JFrame windowA = new JFrame("Window A");
        windowA.setLocation(20, 20);
        windowA.setSize(300, 100);
        windowA.setVisible(true);
        
        JFrame windowB = new JFrame("Window B");
        windowB.setLocation(40, 70);
        windowB.setSize(300, 100);
        windowB.setVisible(true);
        
        JFrame windowC = new JFrame("Window C");
        windowC.setLocation(60, 120);
        windowC.setSize(300, 100);
        windowC.setVisible(true);
    }
}

---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
Command + Shift + ~ still cycles through all application JFrames but in reverse order.

FREQUENCY : always



Comments
Closing as duplicate of Issue JDK-8206392.
20-07-2018

Reproduced with JDK 10, 11 on Mac OS 10.12.6. Duplicate of Issue: JDK-8206392
19-07-2018

In MAC OS X, Command + ~ does not cycle through all JFrames in Java application. Checked this for reported version and could confirm the issue. Results: =========== 8u121: OK 8u131: Fail 8u172: Fail 9: Fail 10: Fail 11 ea b22: Fail 12 ea b02: Fail To verify, run the attached test case with respected JDK version. Expect Command + ~ to cycle through the three JFrames This is likely a regression introduced with bug fix in JDK-8169589 w.r.t introduction of new window oredering model. Ref: http://www.oracle.com/technetwork/java/javase/8u131-relnotes-3565278.html
17-07-2018