RFR: 8283214: [macos] Screen magnifier does not show the magnified text for JcomboBox [v3]

Abhishek Kumar abhiscxk at openjdk.org
Tue Jul 4 09:05:58 UTC 2023


On Mon, 3 Jul 2023 11:16:12 GMT, Alexey Ivanov <aivanov at openjdk.org> wrote:

>>> > What if `JComboBox` uses a non-standard renderer which takes a property from an object? Let's assume, `JComboBox` is populated with `Rectangle` objects, a custom renderer is set which displays the value of the `bottom` field in the combo box. Your code, if I understand it correctly, will default to _full rectangle_ rather than what's really displayed.
>>> 
>>> You were right. At least in this case the current fix returns _full_rectangle_ dimension in a string form instead of the text displayed in JComboBox.
>> 
>> Thank you for confirming it.
>> 
>>> I had a doubt here if a custom renderer is used to populate the JComboBox, isn't it required to `override` the `toString` method to return useful information from user end?
>> 
>> No, it's not required to override the `toString` method if the programmer doesn't use it.
>> 
>>> If not then I think it is required to look for alternate fix, probably to get the displayed text from JComboBox and set it as an accessibleName.
>> 
>> Could be…
>> 
>> How would you get the text? It should be provided by a renderer…
>> 
>>> > How does JTable handle this kind of situation? Or JList?
>>> 
>>> I case of JTable and JList, the accessible context is of type JLabel which returns the accessibleName in string format.
>> 
>> This doesn't really answer the question. Do `JTable` and `JList` correctly display the magnified text when a custom renderer is used? In the case with rectangle and a custom renderer? Do they still display text from `toString`?
>> 
>> If neither `JTable` nor `JList` handle this situation, it's okay to go with `toString` as you implemented.
>
> How does `JTable` handle the situation where an image is displayed? You can use SwingSet2 for testing: it displays colored text and images.

> This doesn't really answer the question. Do JTable and JList correctly display the magnified text when a custom renderer is used? In the case with rectangle and a custom renderer? Do they still display text from toString?

Checked with JList and it correctly displayed the magnified text for a rectangle and custom renderer.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14497#discussion_r1251728486



More information about the client-libs-dev mailing list