2016-04-10 16 views
0

, İşte XChartPanel yapıcımın (Java Swing) nesi var? Hata olarak gösterilir

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 
    at org.knowm.xchart.internal.chartpart.Legend_AxesChart.paint(Legend_AxesChart.java:195) 
    at org.knowm.xchart.XYChart.paint(XYChart.java:254) 
    at org.knowm.xchart.XYChart.paint(XYChart.java:225) 
    at org.knowm.xchart.XChartPanel.paintComponent(XChartPanel.java:95) 
    at javax.swing.JComponent.paint(JComponent.java:1056) 
    at javax.swing.JComponent.paintChildren(JComponent.java:889) 
    at javax.swing.JComponent.paint(JComponent.java:1065) 
    at javax.swing.JComponent.paintChildren(JComponent.java:889) 
    at javax.swing.JComponent.paint(JComponent.java:1065) 
    at javax.swing.JComponent.paintChildren(JComponent.java:889) 
    at javax.swing.JComponent.paint(JComponent.java:1065) 
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219) 
    at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1572) 
    at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1495) 

xyChart bir alan olarak ilan edilir benim koddur. XChartPanel'in yanlış yapması için kurucu rolü olduğuna inanıyorum, ama nereden başlayacağımı bilmiyorum.

/** 
    * Initialize the XYChart 
    */ 
    private void initXYChart() { 
     // Create Chart 
     xyChart = new XYChartBuilder().width(800).height(800).title(getClass().getSimpleName()) 
       .xAxisTitle(xColName) 
       .yAxisTitle("Y").build(); 

     // Customize Chart 
     xyChart.getStyler().setLegendPosition(LegendPosition.InsideNE); 
     xyChart.getStyler().setAxisTitlesVisible(true); 
     xyChart.getStyler().setDefaultSeriesRenderStyle(XYSeriesRenderStyle.Line); 

     double[] yCoordArray = new double[xCoordArray.length]; 
     // Loop through the series 
     if (!seriesList.isEmpty()) { 
      for (int i = 0; i < yCoordinates.size(); i++) { 
       List<Double> yCoordOneSeries = yCoordinates.get(i); 
       // Convert list to array 
       for (int j = 0; j < yCoordArray.length; j++) { 
        yCoordArray[j] = yCoordOneSeries.get(j); 
       } 
       xyChart.addSeries(yColNames.get(i), xCoordArray, yCoordArray); 
      } 
     } 

     xyChartPanel = new XChartPanel<>(xyChart); 

     add(xyChartPanel, BorderLayout.CENTER); 
    } 
+0

Boya yönteminizi görebilir miyiz? – Natecat

+0

Hiçbir boya yöntemi yazmamıştım ve XChart'ı kullanmaya çalışıyorum. – xxx222

+0

Kendinizi null bulmaya çalışın – Natecat

cevap

0

Hata, gönderdiğiniz kodda değil.
Hata iletisi bildirdiği gibi, null olan bir nesne başvurusu yöntemine veya değişkenine erişmeyi deneyin.
Bu, Legend_AxesChart.java'nın 195. satırında Legend_AxesChart.paint() yönteminde gerçekleşir. O yüzden git ve belki de null olabilir.

+0

Bunlar sanırım paketin içinde çizgiler var. – xxx222

+0

Ah, bir kütüphane kullanıyorsunuz ve orada oluyor. Peki hangi kütüphane ve hangi versiyonu? – Vampire

+0

Bunun org.knowm.xchart.XChartPanel; – xxx222