Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Monkey D. Ricardo

Como obter a variavel/classe

Recommended Posts

Como posso obter a seguinte variavel/classe no JFreeChart:

package pinghz;

...

public class PingHZ extends ApplicationFrame {

    ...
    
    public PingHZ(final String title) {
        super(title);
        final DynamicTimeSeriesCollection dataset =
        new DynamicTimeSeriesCollection(2, COUNT, new Second());
        dataset.setTimeBase(new Second(0, 0, 0, 1, 1, 2011));
        dataset.addSeries(gaussianData(), 0, "Ping");
        dataset.addSeries(gaussianData2(), 1, "Media");
        JFreeChart chart = createChart(dataset); // quero ter acesso a essa variavel em outro metodo
        
        ...
    }
    
    ...
    // Aqui sera criadaa uma png em um loop de condições
    public void createPNG(JFreeChart chart){
        try { 
            ChartUtilities.saveChartAsJPEG(new java.io.File("C:\\Users\\pcweb\\Desktop\\PingHZ\\dist\\teste.png"), chart, 700, 600); // chart é a variavel que preciso
        } catch (IOException e) {e.printStackTrace();} 
    } 
    ...

    public static void main(final String[] args) {
        ...
    }

Conto com a ajuda de vcs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Simples, declare-a no escopo da classe.

public class PingHZ extends ApplicationFrame {

    private JFreeChart chart;
    
    public PingHZ(final String title) {
        super(title);
        final DynamicTimeSeriesCollection dataset =
        new DynamicTimeSeriesCollection(2, COUNT, new Second());
        dataset.setTimeBase(new Second(0, 0, 0, 1, 1, 2011));
        dataset.addSeries(gaussianData(), 0, "Ping");
        dataset.addSeries(gaussianData2(), 1, "Media");
        chart = createChart(dataset); // quero ter acesso a essa variavel em outro metodo
    }
}

Agora a variável chart estará disponível em qualquer ponto da classe PingHZ.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Simples, declare-a no escopo da classe.

Agora a variável chart estará disponível em qualquer ponto da classe PingHZ.

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Null 'chart' argument.

:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

A mensagem não é óbvia? Você não definiu um valor pra variável chart. Ela está disponível pra toda a classe, porém tu precisas definir um valor pra ela. Precisa instanciá-la. No construtor da classe temos a sentença:

chart = createChart(dataset);

Espera-se que o método createChart retorne um objeto do tipo JFreeChart.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.