Yes, the behavior is not because of the fix I made. I was trying to understand 
the implications of the index based selection approach, and now it looks to be 
consistent on all the platforms.
On Mac, as per your suggestion, we can get the same behavior by removing the 
"setSelectedItem", but my question is, should I make this change or keep the 
index based change, since that would keep the implementation also consistent 
across platforms.

Thanks,
Krishna

-----Original Message-----
From: Sergey Bylokhov 
Sent: Tuesday, August 14, 2018 7:52 AM
To: Krishna Addepalli <krishna.addepa...@oracle.com>; Ajit Ghaisas 
<ajit.ghai...@oracle.com>; Shashidhara Veerabhadraiah 
<shashidhara.veerabhadra...@oracle.com>; awt-dev@openjdk.java.net
Subject: Re: <AWT Dev> [12]RFR : JDK-8014503: AWT Choice implementation should 
be made consistent across platforms.

On 13/08/2018 11:06, Krishna Addepalli wrote:
> The fix I propose is modeled after the code in Windows, which tracks items by 
> their selected index. The code in Mac is storing currently selected object, 
> which could raise the question about which object to select next, when the 
> selected object is removed/changed.
> With index based approach, I see that, the index remains unchanged, even if 
> the object at that location is removed/changed, unless it causes the index to 
> be out of bounds.
> This behavior is the same across Windows, Linux and Mac.

I guess behavior is the same, because of the shared code in 
Choice->remove->removeNoInvalidate
which selects the new element if the old selected element was removed. 
And it is not affected by the code changed in the fix.


-- 
Best regards, Sergey.

Reply via email to