RFR: 8331619: TabbedPane's contentOpaque, tabsOpaque and setOpaque doesn't work properly in Aqua LAF

Abhishek Kumar abhiscxk at openjdk.org
Fri May 10 07:13:16 UTC 2024


JTabbedPane's contentOpaque and tabsOpaque properties are not honored in Aqua L&F. JTabbedPane's content area and tab background color are not as expected when tabbedpane opacity is set to true or false. Fix is to handle the opacity behavior correctly and inline with other LAF as well. 

Existing test `TestBackgroundScrollPolicy.java` failed with the proposed fix and it is updated to run only for linux and windows platform because the content area for tabbedpane is rendered to the width and height of tabbedpane starting from (0, 0) position (https://github.com/openjdk/jdk/blob/cf7c97732320d70de5f5725c920d5c3861a2c9c8/src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java#L684C16-L684C16) and that leaves no place for tab area behind tabs.

CI testing is green after this test update and link posted in JBS.

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

Commit messages:
 - Whitespace jcheck fix
 - TabbedPane opacity initial fix

Changes: https://git.openjdk.org/jdk/pull/19170/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19170&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8331619
  Stats: 222 lines in 4 files changed: 205 ins; 5 del; 12 mod
  Patch: https://git.openjdk.org/jdk/pull/19170.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19170/head:pull/19170

PR: https://git.openjdk.org/jdk/pull/19170


More information about the client-libs-dev mailing list