Я пытаюсь прочитать файл CSV и построить график, основанный на нем. Однако, когда кадр отображается, он пуст. Любая идея, где я ошибаюсь?График Java Swing не отображается
import java.awt.Graphics;
import java.awt.Polygon;
import java.awt.Color;
import javax.swing.*;
import java.io.*;
import java.util.Scanner;
public class Poly extends JPanel
{
int time[]=new int[10000];
int generated[]=new int[10000];
public void paintComponent(Graphics g)
{
super.paintComponent(g);
// Draw a Polygone
//int xValues[] = { 20, 40, 50, 30, 20, 15 };
//int yValues[] = { 50, 50, 60, 80, 80, 60 };
//Polygon polygon1 = new Polygon(xValues, yValues, 6);
//g.drawPolygon(polygon1);
// Draw a Polyline
//int xValues2[] = { 70, 90, 100, 80, 70, 65, 60 };
//int yValues2[] = { 100, 100, 110, 110, 130, 110, 90 };
g.setColor(Color.RED);
g.drawPolyline(time, generated, 10000);
}
public void run()
{
String csvFile = "VaryHarvesterSize_VaryEnergyBufferMax_InputFile(64050KPIT2011_AllYear.dat.keep).csv";
String line = "";
String cvsSplitBy = ",";
int k=0;
try
{
File summaryFile=new File(csvFile);
Scanner reader = new Scanner(summaryFile);
reader.nextLine();
//System.out.println(reader.nextLine());
while(k<10000)
{
// use comma as separator
line = reader.nextLine();
String[] record = line.split(cvsSplitBy);
double temp=Double.parseDouble(record[0].trim());
time[k]=(int)temp;
temp = Double.parseDouble(record[3].trim());
generated[k]=(int)temp;
//System.out.println(record);
//System.out.println("Time="+time[k]+" Energy="+generated[k]);
k++;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main (String[] args)
{
Poly obj=new Poly();
obj.run();
JFrame frame=new JFrame("Polygone And Polyline") ;
JPanel policePanel=new Poly();
frame.add(policePanel);
frame.setSize(400,400);
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Я пробовал с жестко закодированными значениями, он отображается на кадре. Но значений в файле нет.
1) Чтобы лучше помочь, отправьте сообщение [MCVE] (http://stackoverflow.com/help/mcve) (минимальный полный проверяемый пример) или [SSCCE] (http://www.sscce.org/) (Короткий, самосохраненный, правильный пример). Жесткий код некоторых данных для замены CSV. 2) Единственная пустая строка пробела в исходном коде - это все, что требуется *. Пустые строки после '{' или before '}' также типично избыточны. –