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

AWT menu items are not scaled correctly on Windows HiDPI displays

XMLWordPrintable

    • In Review
    • x86_64
    • windows_10

      ADDITIONAL SYSTEM INFORMATION :
      Windows 10 with HiDPI display scaled at 300% or larger.


      Tested this with Java "11.0.9.1", "15.0.1".

      - Oracle JDK

      java version "11.0.9" 2020-10-20 LTS
      Java(TM) SE Runtime Environment 18.9 (build 11.0.9+7-LTS)
      Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.9+7-LTS, mixed mode)

      - Oracle OpenJDK

      openjdk version "15.0.1" 2020-10-20
      OpenJDK Runtime Environment (build 15.0.1+9-18)
      OpenJDK 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing)

      - Adopt OpenJDK

      openjdk version "11.0.9.1" 2020-11-04
      OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9.1+1)
      OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9.1+1, mixed mode)

      openjdk version "15.0.1" 2020-10-20
      OpenJDK Runtime Environment (build 15.0.1+9-18)
      OpenJDK 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing)

      - Azul Zulu

      openjdk version "11.0.9.1" 2020-11-04 LTS
      OpenJDK Runtime Environment Zulu11.43+55-CA (build 11.0.9.1+1-LTS)
      OpenJDK 64-Bit Server VM Zulu11.43+55-CA (build 11.0.9.1+1-LTS, mixed mode)

      openjdk version "15.0.1" 2020-10-20
      OpenJDK Runtime Environment Zulu15.28+51-CA (build 15.0.1+9)
      OpenJDK 64-Bit Server VM Zulu15.28+51-CA (build 15.0.1+9, mixed mode, sharing)

      A DESCRIPTION OF THE PROBLEM :
      On Windows 10 with a HiDPI display that has a large scaling factor (for instance 300%), the menu items from the tray icon menu overlap and are hard to read. Also, the small arrow icon used for submenus is not visible.

      The font for the menu items seem to be scaled correctly but not their height.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      This problem can be reproduced with the TrayIconDemo.java [1] class available from the "How to Use the System Tray" tutorial [2].

      1. TrayIconDemo.java
      https://docs.oracle.com/javase/tutorial/uiswing/examples/misc/TrayIconDemoProject/src/misc/TrayIconDemo.java
      https://docs.oracle.com/javase/tutorial/uiswing/examples/misc/TrayIconDemoProject/src/misc/images/bulb.gif

      2. How to Use the System Tray
      https://docs.oracle.com/javase/tutorial/uiswing/misc/systemtray.html


      Run TrayIconDemo.java on a Windows system with a HiDPI display that uses a scaling factor of 300% or larger. Alternatively, this problem can be reproduced on non-HiDPI displays if TrayIconDemo.java is ran with -Dsun.java2d.uiScale=3.

      Click the tray icon to see the tray icon menu.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      - There's enough space between menu items that they don't overlap
      - The blue rectangle for the selected menu item is larger than the text
      - The arrow icon for the "Display" menu item is visible
      ACTUAL -
      - Menu items overlap and are hard to read
      - The arrow icon for the "Display" menu item is not visible

      ---------- BEGIN SOURCE ----------
      https://docs.oracle.com/javase/tutorial/uiswing/examples/misc/TrayIconDemoProject/src/misc/TrayIconDemo.java
      https://docs.oracle.com/javase/tutorial/uiswing/examples/misc/TrayIconDemoProject/src/misc/images/bulb.gif
      ---------- END SOURCE ----------

      FREQUENCY : always


            honkar Harshitha Onkar
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: