<Swing Dev> [11] Review Request: JDK-5076761 : JList.setSelectedValue(null, ...) doesn't do anything

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Tue Jan 16 17:47:21 UTC 2018


On 08/01/2018 08:25, Semyon Sadetsky wrote:
>> On 05/01/2018 18:01, Semyon Sadetsky wrote:
>>> Can you explain what is wrong with the suggested  approach?  It is 
>>> flexible to handle both null and non-null containing JList.
>>
>> Because it is wrong direction try to support some approach which is 
>> undefined behavior. The null has a special meaning in 
>> JList.getSelectedValue/setSelectedValue() as well as in a few other 
>> methods mentioned below. The usage of unspecified null values may 
>> result in a run time exception either immediately or at some later time.
> I didn't find any spec that mentions null as a special value

I already listed a methods which use null as an absent of the value. And 
current methods were implemented with this intention.

>  as well as any pointer that JList couldn't contain null.

There are no references to null in the javadoc which means that null is 
unsupported. By default the null value is unsupported, and it can be 
considered as supported only if spec accept that.

> getSelectedValue() may not be an indicator because there are several 
> replacements setSelectedIndex(), setSelectedIndices(), 
> getSelectedValues(), getSelectedValuesList() which supports null.
> Other components are unrelated.
Why JComboBox.setSelectedItem() and JList.setSelectedValue() are 
unrelated? Both are quite similar and have similar logic. Moreover 
JComboBox.setSelectedItem() has much more detailed description which we 
should use as an example.

-- 
Best regards, Sergey.



More information about the swing-dev mailing list