<Swing Dev> Request for review: NPE when using Nimbus with a TableCellRenderer returning null.

Miguel Muñoz SwingGuy1024 at yahoo.com
Thu Apr 18 05:37:01 UTC 2013


JTable.prepareRenderer() should never return null. There's nothing in the API to suggest that null is a valid return value. I have found (and reported) at least one bug in Nimbus where it returns a null renderer when the column class is Icon. I think that's fixed, but I wouldn't be surprised if there are others.

— Miguel Muñoz


On Apr 16, 2013, at 7:55 AM, Alexander Scherbatiy wrote:

> On 4/13/2013 2:19 PM, Clemens Eisserer wrote:
>> Hi,
>> 
>> When testing a legacy application which was using Metal LnF previously
>> with Nimbus I ran into the following problem:
>> 
>>   Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
>>       at javax.swing.plaf.synth.SynthTableUI.paintCell(SynthTableUI.java:685)
>>       at javax.swing.plaf.synth.SynthTableUI.paintCells(SynthTableUI.java:581)
>>       ......
>> 
>> the code in question is:
>> 
>>   TableCellRenderer renderer = table.getCellRenderer(row, column);
>>   Component component = table.prepareRenderer(renderer, row, column);
>>   Color b = component.getBackground();
> 
>    Could you check that returning the null component is the correct behavior in this case?
>    So there is no the real bug that does not allow to return the right component.
> 
>> 
>> I've written a patch to simply check for "component" to be non-null:
>> http://cr.openjdk.java.net/~ceisserer/nimbusnpe/
>> Unfortunately I don't have a bug number, as the old bug-submission
>   There are 2 issues with the NPE in paintCell chain call in JTable:
>     6582564 JTable with rowHeader and sorting given NPE when inserting a new row
>        http://bugs.sun.com/view_bug.do?bug_id=6582564
>     6429812 NPE after calling JTable.updateUI() when using a header renderer + XP L&F
>      http://bugs.sun.com/view_bug.do?bug_id=6429812
> 
>   This issue is different so I can create the new one.
> 
>   Thanks,
>   Alexandr.
> 
>> system seems to be dead.
>> 
>> Please let me know what you think.
>> 
>> Regards, Clemens
> 

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

Miguel Muñoz
SwingGuy1024 at yahoo.com
323/225-7285

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

The Sun, with all those planets revolving around it and dependent on it, can still ripen a vine of grapes like it had nothing else to do in the world.

  -- Galileo

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

There are seven sins in the world.
    Wealth without work.
    Pleasure without conscience.
    Knowledge without character.
    Commerce without morality.
    Science without humanity.
    Worship without sacrifice.
    Politics without principle. 

  -- Mohandas Gandhi

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

If tyranny and oppression come to this land, it will come in the guise of fighting a foreign enemy.

  -- James Madison



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20130417/4a87d6d3/attachment.html>


More information about the swing-dev mailing list