I havent written any of my own code, merely downloaded the files found at
the URL below.
http://www2.gol.com/users/tame/swing/examples/JTableExamples1.html
Ive done a bit of checking, and the null object is renderer, which is
declared in the BasicTableHeaderUI, which GroupableTableHeaderUI extends.
Using print i have established that all of the arguments are non-null, but
the renderer is.
The line throwing the error initially is:
Component comp = renderer.getTableCellRendererComponent(header.getTable(),
aColumn.getHeaderValue(), false, false,-1, column);
The error i get is:
java.lang.NullPointerException
at
web.GroupableTableHeaderUI.getHeaderHeight(GroupableTableHeaderUI.java:87)
at
web.GroupableTableHeaderUI.createHeaderSize(GroupableTableHeaderUI.java:113)
at
web.GroupableTableHeaderUI.getPreferredSize(GroupableTableHeaderUI.java:123)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1275)
at javax.swing.ViewportLayout.preferredLayoutSize(ViewportLayout.java:75)
at java.awt.Container.preferredSize(Container.java:1178)
at java.awt.Container.getPreferredSize(Container.java:1162)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1277)
at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:702)
at java.awt.Container.layout(Container.java:1020)
at java.awt.Container.doLayout(Container.java:1010)
at java.awt.Container.validateTree(Container.java:1092)
at java.awt.Container.validateTree(Container.java:1099)
at java.awt.Container.validateTree(Container.java:1099)
at java.awt.Container.validateTree(Container.java:1099)
at java.awt.Container.validateTree(Container.java:1099)
at java.awt.Container.validate(Container.java:1067)
at java.awt.Window.show(Window.java:461)
at java.awt.Component.show(Component.java:1133)
at java.awt.Component.setVisible(Component.java:1088)
at web.GroupableHeaderExample.main(GroupableHeaderExample.java:66)
Interestingly enough i have since downloaded more examples from the same
site, and they have also failed to run even when using only the code
downloaded - although the errors produced are different.
Cheers,
Alex