|
From: Jon C. <jc...@cw...> - 2004-04-23 16:11:17
|
When I attempt to run the MapLegendViewer demo
(geotools2-B3/geotools-demo) on Mac OS X, I encounter the following
error message:
java.lang.NullPointerException
at
org.geotools.gui.swing.legend.LegendTreeLayerCellRenderer.setBackground(LegendTreeLayerCellRenderer.java:108)
at javax.swing.LookAndFeel.installColors(LookAndFeel.java:58)
at javax.swing.LookAndFeel.installColorsAndFont(LookAndFeel.java:92)
at apple.laf.AquaPanelUI.installDefaults(AquaPanelUI.java:46)
at apple.laf.AquaPanelUI.installUI(AquaPanelUI.java:35)
at javax.swing.JComponent.setUI(JComponent.java:449)
at javax.swing.JPanel.setUI(JPanel.java:131)
at javax.swing.JPanel.updateUI(JPanel.java:104)
at javax.swing.JPanel.<init>(JPanel.java:64)
at javax.swing.JPanel.<init>(JPanel.java:87)
at javax.swing.JPanel.<init>(JPanel.java:95)
at
org.geotools.gui.swing.legend.LegendTreeLayerCellRenderer.<init>(LegendTreeLayerCellRenderer.java:61)
at
org.geotools.gui.swing.legend.LegendTreeCellRendererSwitcher.<init>(LegendTreeCellRendererSwitcher.java:41)
at org.geotools.gui.swing.Legend.<init>(Legend.java:105)
at MapLegendViewer.<init>(Unknown Source)
at MapLegendViewer.main(Unknown Source)
After some investigation, I determined that the
org.geotools.gui.swing.legend.LegendTreeLayerCellRenderer.setBackground(...)
method was being called from the parent constructor before
org.geotools.gui.swing.legend.LegendTreeLayerCellRenderer.initComponents()
method is called (hence the renderChild array is null).
If I add the test for renderChild == null in
LegendTreeLayerCellRenderer.setBackground(...) (return if it is null),
org.geotools.gui.swing.LegendTest fails.
Is there a work around for this problem? A map viewer without a working
legend is useless.
Jon
--
Jon C. Cline, Ph.D.
Research Associate
Department of Biology
Case Western Reserve University
Clapp Hall, Room 308
10900 Euclid Avenue
Cleveland, OH 44106-7080
Email: jon...@ca...
Phone: 216-368-3561
Fax: 216-368-4672
|