RFR: 4459231: Focus of JTabbedPane(with Scrollable tablayout) changes on change in LookAndFeel [v2]
Tejesh R
tr at openjdk.org
Tue Dec 9 09:47:08 UTC 2025
On Mon, 1 Dec 2025 09:46:35 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
>> On changing LookAndFeel of JTabbedPane, it resets the focus of the child tabs to starting child tab.
>> That is, if a JTabbedPane has say 10 tabs and we select the 10th tab and then we change the L&F, the focus is shifted to Tab0 even though the selected tab is still at 10th tab.
>>
>> This is because when we switch L&F, `installUI ` will reset the `focusIndex `
>> https://github.com/openjdk/jdk/blob/3481252ced7c06c44154ceccc56b12cfd9a490c3/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java#L285-L290
>>
>> which needs to set the proper focus by calling `scrollRectToVisible ` to selected tab which is done in this fix.
>
> Prasanta Sadhukhan has updated the pull request incrementally with one additional commit since the last revision:
>
> test fix
test/jdk/javax/swing/JTabbedPane/TabbedPaneBugWithLNF.java line 27:
> 25: * @test
> 26: * @bug 4459231
> 27: * @summary Verifies getBaseline causes NPE for Nimbus L&F
Summary is different, please update the summary.
test/jdk/javax/swing/JTabbedPane/TabbedPaneBugWithLNF.java line 46:
> 44: private static JTabbedPane tabPane;
> 45: private static JButton testBtn;
> 46: private String labelOfCurrentJBtn = null;
`labelOfCurrentJBtn ` is unused.
test/jdk/javax/swing/JTabbedPane/TabbedPaneBugWithLNF.java line 109:
> 107: return frame;
> 108: }
> 109: }
I don't see any empty line here.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/28571#discussion_r2601789679
PR Review Comment: https://git.openjdk.org/jdk/pull/28571#discussion_r2601846046
PR Review Comment: https://git.openjdk.org/jdk/pull/28571#discussion_r2601855141
More information about the client-libs-dev
mailing list