<Swing Dev> RFR: 8268084: [macos] Disabled JMenuItem arrow is not disabled

Prasanta Sadhukhan psadhukhan at openjdk.java.net
Tue Aug 31 06:26:45 UTC 2021


It is seen in macos disabled JMenuItem arrow is not disabled even though JMenuItem itself is disabled.
In native app, same menuitem arrow is disabled for disabled menuitem.

Issue is when AquaMenuPainter#paintMenuItem() is called, it tries to draw a ImageIcon image of the arrow via ImageIcon#paintIcon which tries to generate MultiResolutionCachedImage via getResolutionVariant() by calling AquaUtils#generateFilteredImage.
It does not take into account if disabled arrow icon image needs to be drawn or not, so it is always enabled.

Proposed fix is to generate a disabled ImageIcon image of the same arrow icon and use it for disabled state.

-------------

Commit messages:
 - 8268084: [macos] Disabled JMenuItem arrow is not disabled

Changes: https://git.openjdk.java.net/jdk/pull/5310/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5310&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8268084
  Stats: 167 lines in 2 files changed: 166 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5310.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5310/head:pull/5310

PR: https://git.openjdk.java.net/jdk/pull/5310


More information about the swing-dev mailing list