Hi!

 

I encountered a problem using JFreeChart Extension II along with JFreeChart
1.0.9 (and the same for JFreeChart 1.0.0).

More precisely: jcommon-1.0.12.jar, jfreechart-1.0.9.jar,
jfreechart-extension-client-1.0.jar, jfreechart-extension-server-1.0.jar

 

There is a nullpointer exception when a mouse event occurs and an
IChartEventListener has been registered.

This appears to be the same problem which has previously been posted on
[ULC-developer] 

(by Eugene Coelho, Wed, 19 Jul 2006 01:20:54 -0700).

Unfortunately, no answer has been posted.

 

To produce this error I added an ULCJFreeChart to the template created by 

“New ULC Project Wizard –> Simple dialog ULC application template” in
Eclipse.

 

Please see below for the code and the stack trace.

 

 

Thanks and kind regards, 

Kevin Hirschmann

 

Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException

                at
com.canoo.ulc.community.jfreechart.client.UIJFreeChart$MouseEventHandler.fin
dEntity(UIJFreeChart.java:184)

                at
com.canoo.ulc.community.jfreechart.client.UIJFreeChart$MouseEventHandler.mou
seClicked(UIJFreeChart.java:162)

                at
java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:212)

                at java.awt.Component.processMouseEvent(Component.java:5520)

                at
javax.swing.JComponent.processMouseEvent(JComponent.java:3135)

                at
com.ulcjava.base.client.UILabel$BasicLabel.processMouseEvent(UILabel.java:38
)

                at java.awt.Component.processEvent(Component.java:5282)

                at java.awt.Container.processEvent(Container.java:1966)

                at java.awt.Component.dispatchEventImpl(Component.java:3984)

                at java.awt.Container.dispatchEventImpl(Container.java:2024)

                at java.awt.Component.dispatchEvent(Component.java:3819)

                at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)

                at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3901)

                at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)

                at java.awt.Container.dispatchEventImpl(Container.java:2010)

                at java.awt.Window.dispatchEventImpl(Window.java:1791)

                at java.awt.Component.dispatchEvent(Component.java:3819)

                at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)

                at
com.ulcjava.base.client.FilteringEventQueue.dispatchEvent(FilteringEventQueu
e.java:61)

                at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.ja
va:242)

                at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java
:163)

                at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

                at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

                at
java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

 

 

 

public class TestChartEventsBoxPane extends ULCBoxPane {

 

    //   The structure of the class enables its visualization with ULC
Visual Editor Plugin

 

    private ULCButton ulcButton = null;

    private ULCLabel ulcLabel = null;

    private ULCJFreeChart chartComponent = null;

 

    public TestChartEventsBoxPane() {

        initialize();

    }

 

    private void initialize() {

        setHorizontalGap(5);

        set(0, 1, 1, 1, com.ulcjava.base.shared.IDefaults.BOX_CENTER_CENTER,
getUlcButton());

        set(0, 0, 1, 1, com.ulcjava.base.shared.IDefaults.BOX_CENTER_CENTER,
getUlcLabel());

        set(2, 2, 1, 1, com.ulcjava.base.shared.IDefaults.BOX_CENTER_CENTER,
getULCJFreeChart());

    }

 

    private ULCButton getUlcButton() {

        if (ulcButton == null) {

            ulcButton = new ULCButton();

            ulcButton.setText("Say Hello");

            ulcButton.addActionListener(new IActionListener() {

                public void actionPerformed(ActionEvent e) {

                    new ULCAlert("Title","Hello!","OK").show();

                }

            });

        }

        return ulcButton;

    }

 

    private ULCLabel getUlcLabel() {

        if (ulcLabel == null) {

            ulcLabel = new ULCLabel();

            ulcLabel.setText("Click button for greeting");

        }

        return ulcLabel;

                    }

    

   

       private ULCJFreeChart getULCJFreeChart() {

                               if (this.chartComponent == null) {

                                               this.chartComponent = new
ULCJFreeChart();

                                               double[][] data = new
double[][] { { 4257, 4058, 3357 }, { 257, 58, 357 } };

                                               CategoryDataset dataset =
DatasetUtilities.createCategoryDataset(

 
new String[] { "prognose", "real" },

 
new String[] { "02.09.2008", "03.09.2008", "04.09.2008" }, 

 
data);

                                               JFreeChart chart1 =
ChartFactory.createBarChart("TEST", "", "", dataset,
PlotOrientation.VERTICAL, false,

 
false, false);

 
this.chartComponent.setChart(chart1, new Dimension(600, 400));

 

 
this.chartComponent.addChartComponentListener(new IChartComponentListener()
{

 

                                                               public void
chartResized(UlcChartComponentEvent event) {

 
System.out.println("chartResized: latest chart size: " +
event.getChartComponentSize());

                                                               }

                                               });

 

 
this.chartComponent.addChartEventListener(new IChartEventListener() {

 

                                                               public void
chartClicked(UlcChartEvent event) {

 
System.out.println("chart clicked");

                                                               }

 

                                                               public void
chartEntityClicked(UlcChartEvent event) {

 
ChartEntity entity = event.getChartEntity();

 
System.out.println("entity coordinates: " + entity.getShapeCoords());

                                                               }

 

                                                               public void
chartZoomed(UlcChartEvent arg0) {

 
;

                                                               }

                                               });

                               }

                               return chartComponent;

                }

    

}

 

 

HUEBINET Informationsmanagement GmbH & Co. KG

Universitätsstraße 3

56070 Koblenz

 

Sitz und Registergericht: Koblenz HRA 5329

 

Persönlich haftender Gesellschafter der KG:

HUEBINET GmbH; 

Sitz und Registergericht: Koblenz HRB 6857

 

Geschäftsführung:

Frank Hüttmann; Michael Biemer

 

Der Nachrichtenaustausch mit HUEBINET Informationsmanagement GmbH & Co. KG,
Koblenz via E-Mail dient lediglich zu Informationszwecken.
Rechtsgeschäftliche Erklärungen mit verbindlichem Inhalt können über dieses
Medium nicht ausgetauscht werden, da die Manipulation von E-Mails durch
Dritte nicht ausgeschlossen werden kann.

 

 

Reply via email to