public class XYSeriesDemo extends ApplicationFrame {
private Object br;
static XYSeries series;
public void LerTxt() throws IOException {
series = new XYSeries("Velocidade do vento");
FileReader reader = new FileReader("log.txt");
BufferedReader br = new BufferedReader(reader);
String linha;
while ((linha = br.readLine()) != null);
String[] items = linha.split(",");
if (items.length > 1 && items[0].equals("104")) {
int x = IntegerparseInt(items[3]);
int y = IntegerparseInt(items[4]);
series.add(x, y);
}
try {
} catch (Exception ex) {
ex.printStackTrace();
}
}
public int IntegerparseInt(String string) {
throw new UnsupportedOperationException("Not yet implemented");
}
public XYSeriesDemo(final String title, XYSeries dados) {
super(title);
//XYSeries series = new XYSeries("Velocidade do vento");
//series.add(x, y);
//series.add(4.0, -0.785);
//series.add(2.5, 90.0);
//series.add(5.0, -105.0);
//series.add(8.7, 150.0);
//series.add(10.0,101.0);
//series.add(11.0, 100.0);
final XYSeriesCollection data = new XYSeriesCollection(dados);
final JFreeChart chart = ChartFactory.createXYLineChart("Anemômetro",
"Data", "m/s",
data, PlotOrientation.VERTICAL, true, true, false);
final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(1000, 400));
setContentPane(chartPanel);
}
/**
* @param args the command line arguments
*/
public static void main(final String[] args) {
LerTxt();
final XYSeriesDemo demo = new XYSeriesDemo("Gráfico Modelo", series);
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
}
}[/code]
O meu problema é o seguinte: preciso chamar a função LerTxt para adicionar valores na variável series e plotar o gráfico.
Não estou conseguindo chamar esta função dentro do public static void main.
Alguém poderia me ajudar?
Obrigado
Eduardo
eu fiz com um camarada junto aqui do laboratório, eu não conhecia o java, e foi passado pra mim que eu teria q fazer um programa em java q tivesse esta função (ler e plotar) entao comecei a correr atrás.
ou seja, estou começando a trabalhar com java agora, um mês e pouquinho…
Importe o projeto dentro do Eclipse e debugue o código. Ou então veja a mensagem de erro inteira que aparece no DOS, para ter uma idéia do que pode estar causando NullPointer.
run:
Exception in thread “main” java.lang.NullPointerException
at xyseries.XYSeriesDemo.LerTxt(XYSeriesDemo.java:33)
at xyseries.XYSeriesDemo.main(XYSeriesDemo.java:81)
Java Result: 1
eduardoesn, você sabe o que é um NullPointerException?
Eles acontecem quando você tem um objeto nulo e quer acessar qualquer coisa dentro dele. Um exemplo
String s = "Grupo de Usuários Java";
int tamanho = s.length(); // funciona
String s2 = null;
int tamanho2 = s2.length(); // s2.length() gera um NPE pois s2 é nulo
run:
Exception in thread “main” java.lang.NullPointerException
at xyseries.XYSeriesDemo.LerTxt(XYSeriesDemo.java:33)
at xyseries.XYSeriesDemo.main(XYSeriesDemo.java:81)
Java Result: 1
[/quote]
while ((linha = br.readLine()) != null);
String[] items = linha.split(",");
No fim da linha do “while” acho que não tem esse ponto e vírgula. Acho que você queria que “items” ficasse dentro do “while”, não?
é isso que eu quero roger, mas quando eu tiro o “;”, começa a dar uma série de erros.
O que nao estou conseguindo fazer é o que o Bruno Laturner falou.