JDK-8355203 : [macos] AquaButtonUI and AquaRootPaneUI repaint default button unnecessarily
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 8,11,17,21,24
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2025-04-14
  • Updated: 2025-05-23
  • Resolved: 2025-04-27
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 25
25 b21Fixed
Related Reports
Causes :  
Relates :  
Description
A DESCRIPTION OF THE PROBLEM :
The Aqua L&F includes some unnecessary repaint logic (and listeners) that we can safely remove.

The root pane's default button used to continually pulse/repaint in Aqua.

According to https://en.wikipedia.org/wiki/Aqua_(user_interface)#OS_X_Yosemite,_El_Capitan,_macOS_Sierra,_High_Sierra,_Mojave,_and_Catalina :
> A blue button is the default action, and in OS releases prior to Yosemite, would appear to pulse to prompt the user to carry out that action. 

But Mac OS Yosemite was released around 2014. Apple has long since discontinued support for OS's that had this feature.

As a related bug:
At one point I filed https://bugs.openjdk.org/browse/JDK-8344697 to point out that AquaButtonUI's AncestorListener could cause a noticeable performance slowdown. But other (seemingly unrelated) improvements made the performance acceptable again.


Comments
Changeset: 04bb5dcf Branch: master Author: jeremy <jeremy.wood@mac.com> Committer: SendaoYan <syan@openjdk.org> Date: 2025-04-27 11:24:29 +0000 URL: https://git.openjdk.org/jdk/commit/04bb5dcf5759509e0239a6049db9ae2b97880aa9
27-04-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/24778 Date: 2025-04-21 19:52:18 +0000
21-04-2025