Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-5027265

NPE in SynthTableUI.SynthTableCellRenderer

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P1 P1
    • None
    • 5.0
    • client-libs

      Clicking any cell in the NetBeans property sheet causes the null pointer exception.

      Problem: The property sheet overrides getCellRenderer(), but Synth
      ignores this and uses its own anyway. Ours can handle null values.
      SynthTableCellRenderer can't. This makes core functionality of NetBeans/SJS unusable with GTK look and feel.

      The reason is a single line:
      Class valueClass = value.getClass();

      The variable valueClass is never used and can be deleted - it looks like debug code that was left in.

           [exec] java.lang.NullPointerException
           [exec] at javax.swing.plaf.synth.SynthTableUI$SynthTableCellRenderer.configureValue(SynthTableUI.java:559)
           [exec] at javax.swing.plaf.synth.SynthTableUI$SynthTableCellRenderer.getTableCellRendererComponent(SynthTableUI.java:553)
           [exec] at javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:5308)
           [exec] at javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:5687)
           [exec] at javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:5210)
           [exec] at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:187)
           [exec] at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:167)

      I am not sure it is correct that getAccessibleChild() provides the cell renderer provided by the UI, rather than the one the table provides (at least if that one is accessible), but that's another issue - simply deleting the line in question will make it work.

            shickeysunw Shannon Hickey (Inactive)
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: