I get only somethimes!!! the exception at the bottom when the method createDatasetWithExistingSerie is invoked.
Does anybody know what I am doing wrong?
Thank for your help,
Code: Select all
private void createDatasetWithExistingSerie(final TracePanelTimeSeries series, final String name, final RegularTimePeriod start, final List<DBWertReadBean> lineData, final int lineCnt, final TracePanelXYItemRenderer renderer, final String unit, final int lineIndex) {
xAxis = (DateAxis) ((XYPlot)chartPanel.getChart().getPlot()).getDomainAxis();
setMaximumxAxisItemAge(series, (long)xAxis.getUpperBound());
clearSerie(series);
for(DBWertReadBean element : lineData) {
int millis = element.getZeitstempel().getNanos()/(int)Math.pow(10, 6);
Millisecond ms = new Millisecond(millis, new Second(element.getZeitstempel()));
series.add(ms, element.getWert());
}
setMaximumxAxisItemAge(series, (long)xAxis.getRange().getLength()); // only the items in the xAxis timerange are available
}
Code: Select all
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 4, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at org.jfree.data.time.TimeSeries.getDataItem(TimeSeries.java:338)
at org.jfree.data.time.TimeSeriesCollection.getXValue(TimeSeriesCollection.java:421)
at org.jfree.chart.renderer.xy.StandardXYItemRenderer.drawItem(StandardXYItemRenderer.java:835)
at org.jfree.chart.plot.XYPlot.render(XYPlot.java:3717)
at org.jfree.chart.plot.XYPlot.draw(XYPlot.java:3289)
at org.jfree.chart.JFreeChart.draw(JFreeChart.java:1230)
at org.jfree.chart.ChartPanel.paintComponent(ChartPanel.java:1344)
at javax.swing.JComponent.paint(JComponent.java:1022)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5104)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1386)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1317)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:301)
at javax.swing.RepaintManager.paint(RepaintManager.java:1132)
at javax.swing.JComponent._paintImmediately(JComponent.java:5052)
at javax.swing.JComponent.paintImmediately(JComponent.java:4862)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:727)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:683)
at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:663)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)