RFR: 6875229: Wrong placement of icons in JTabbedPane in Nimbus

Prasanta Sadhukhan psadhukhan at openjdk.org
Tue Jul 4 11:59:56 UTC 2023


On Tue, 4 Jul 2023 11:35:59 GMT, Jayathirth D V <jdv at openjdk.org> wrote:

>> Icon is placed after text in JTabbedPane for NimbusL&F since the text is drawn at LEADING position instead of TRAILING as is done for [other L&F](https://github.com/openjdk/jdk/blob/59c6c0e1b7148a7139f5e6a4ba2b19623c20c77d/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java#L1155-L1160)
>> 
>> Before fix
>> ![image](https://github.com/openjdk/jdk/assets/43534309/10d3f919-46e0-47e9-9d27-b33e49b2d62c)
>> 
>> After fix
>> ![image](https://github.com/openjdk/jdk/assets/43534309/0c4906ec-df2a-4ce6-8399-fd1cd9e34450)
>
> test/jdk/javax/swing/plaf/nimbus/TestNimbusTabbedPaneIconPosition.java line 54:
> 
>> 52:     static volatile Rectangle bounds;
>> 53:     private static void addTab(JTabbedPane aTabbedPane, int anIndex) {
>> 54:         aTabbedPane.addTab("\u2588", new Icon() {
> 
> First time i saw usage of Full block character for title and it took some time for me to understand this, unique way to find difference and read color.

> Is there any change in rendering based on what we draw first?

No, since we rely on iconRect and textRect which has its own x and y set so no matter is what called first, it will draw at its own set position

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14596#discussion_r1251929720



More information about the client-libs-dev mailing list