Galera.
Estou tentando carregar um vertor com uma linha de uma ArrayList. O código é o seguinte:
public geraGrafico2Barras (String title, String[] legendaGraficos, int periodo, int barra1, int barra2, ArrayList dados) {
super(title);
try{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
String series1 = legendaGraficos[0];
String series2 = legendaGraficos[1];
for(int h=1;h<=dados.size();h++){
String[] capturaArray = ( String[])dados.toArray( new String [dados.size()] );
dataset.addValue(Float.valueOf(capturaArray[barra1]),series1, capturaArray[periodo]);
dataset.addValue(Float.valueOf(capturaArray[barra2]),series2, capturaArray[periodo]);
capturaArray = null;
}
JFreeChart chart = createChart(dataset, title);
ChartPanel chartPanel = new ChartPanel(chart, false);
chartPanel.setPreferredSize(new Dimension(500, 270));
setContentPane(chartPanel);
}catch( Exception e ){
JOptionPane.showMessageDialog(null, "Atenção! Erro na contrução do gráfico! \n" +
"Favor informar a mensagem abaixo ao adminstrador do sistema! \n " +
e.getMessage(), "Erro de construção de gráfico", JOptionPane.WARNING_MESSAGE);
}
}
Ocasiona o seguinte erro de runtime:
Exception in thread “AWT-EventQueue-0” java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at java.util.ArrayList.toArray(ArrayList.java:305)
at cpa.geraGrafico2Barras.(geraGrafico2Barras.java:71)
A linha 71 é:
String[] capturaArray = ( String[])dados.toArray( ] );new String [dados.size()
Não consigo enxergar entender esta excessão. Todos os campos da ArrayList são strings.
Alguém pode me ajudar?
Obrigado:
Edilson Cavalieri