Toon posts:

[Java] Foutmelding bij chart toevoegen aan JPanel

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heb een programma waarbij een aantal grafiekjes geshowed moeten wroden.. nu gebruik ik hiervoor de JFreeChart package..

ik heb nu een testprogrammaatje die op zich prima werkt.. hier wordt de aangemaakte ChartPanel toegevoegd aan de JPanel..

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
XYDatasetxydataset = createDataset();
JFreeChart chart = createChart(xydataset);      
ChartPanel chartpanel.setBounds(425, 210, 300, 110);
add(chartpanel);

private static JFreeChart createChart(XYDataset xydataset)
    {
        JFreeChart jfreechart = ChartFactory.createXYLineChart(
                                        "",
                                        "Time",
                                        "Intensity", 
                                        xydataset, 
                                        PlotOrientation.VERTICAL, 
                                        false, 
                                        true, 
                                        false);
        return jfreechart;
    }

    private static XYDataset createDataset()
    {       
        XYSeries series = new XYSeries("Average Size");
        series.add(20.0, 10.0);
        series.add(40.0, 20.0);
        series.add(70.0, 50.0);
        XYDataset xyDataset = new XYSeriesCollection(series);
        
        return xyDataset;
    }


Nu wil ik dit integreren in mijn eigen programma, maar daar krijg ik de volgende fourtmelding bij het runnen:
code:
1
2
3
4
Exception in thread "main" java.lang.NullPointerException
at MainPanel.<init>(MainPanel.java:109)
at MainFrame.<init>(MainFrame.java:24)
at MainApp.main(MainApp.java:14)
waarbij regel 109 deze is: chartpanel.setBounds(425, 210, 300, 110);

Klopt het dat je niet zomaar een ChartPanel aan een bestaand JPanel kan toevoegen?? Of doe ik iets anders fout?? En wat is anders een oplossing om een grafiek toe te voegen aan mijn programma?

  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 23:29
Je weet zeker dat chartpanel wel geïnitialiseerd is?

Verwijderd

Topicstarter
jep.. zie regel 3
Java:
1
ChartPanel chartpanel.setBounds(425, 210, 300, 110);


ik heb het nu voor dit topic even ingekort, maar in mijn eigenlijk programma heb ik de ChartPanel bovenaan de code gedeclareerd als
Java:
1
ChartPanel chartpanel;


verder geeft hij bij het compilen ook geen foutmelding...

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 07-05 19:18

Robtimus

me Robtimus no like you

Maar door dat inkorten zien wij niet wat regel 14 uit je main en regels 24 en 109 uit de constructor(s) van MainPanel zijn.

Vermoeden:
main regel 14 creeert een MainPanel met constructor 1 in regel 14.
constructor 1 begint met het het aanroepen van constructor 2 dmv this(....) in regel 24.
constructor 2 komt een NPE tegen op regel 109.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Verwijderd

Topicstarter
sorry.. was idd vergeten ChartPanel aan te maken met new ChartPanel(); en had hem alleen maar gedeclareerd.. 8)7 hij doet het dus nu iig wel..

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Ik zou je IDE een schop geven, die zou daar gewoon voor moeten kunnen waarschuwen, tijdens het typen. :)

  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 23:29
Verwijderd schreef op maandag 09 mei 2005 @ 15:32:
sorry.. was idd vergeten ChartPanel aan te maken met new ChartPanel(); en had hem alleen maar gedeclareerd.. 8)7 hij doet het dus nu iig wel..
Zie je wel dat je hem niet geïnitialiseerd had ;)
Met nullpointers is dat 9/10 keer het geval he...

Verwijderd

Topicstarter
k dan...
Ik zou je IDE een schop geven, die zou daar gewoon voor moeten kunnen waarschuwen, tijdens het typen. :)
idd wel vaag.. gebruik Eclipse, maar die zei dus lekker niks...

maar goed.. iig bedankt!
Pagina: 1