Adicionar CheckBoxes a um FreeChart

Eu criei um gráfico onde vários “gráficos” sao mostrados ao mesmo tempo (Combined Domain), só que eu queria que o usuário tivesse a opcao de selecionar os “plots” que quer ver. Como sao 14 dados no gráfico, fica muito feio abrir com todos os dados/plots visíveis.

Pra isso, pensei em adicionar 1 CheckBox pra cada dado e aí conforme o usuário marcar/desmarcar o CB, o plot aparece/desaparece. Eu criei 1 CB pra teste, só que ele sai na parte superior da tela, cobrindo inclusive o título do gráfico.

Pra adicionar o CB, eu simplesmente criei um onde eu crio o “Panel”, no construtor da classe:

public GraficoArenaVerde (final String titulo){
    
    super(titulo);
    final JFreeChart grafico = criaGrafico();
    final ChartPanel painelGrafico = new ChartPanel(grafico, true, true, true, false, true);

     //Criacao do CheckBox
    JCheckBox testeCB = new JCheckBox("Data");
    painelGrafico.add(testeCB);

    painelGrafico.setPreferredSize(new java.awt.Dimension(500, 270));
    setContentPane(painelGrafico);
}

E sai assim:

GraficoErro

Eu queria que saísse na parte debaixo, preferencialmente acima da legenda. Onde eu to fazendo cagada? Imagino que tenha alguma coisa tipo “set local.abaixo”, mas nao encontrei nada relacionado.

Coloca o painelgrafico num jpanel, e coloca o JPanel embaixo do checkbox

1 curtida

Ok, melhorou, mas sai do lado direito da tela agora hahaha. Nao tem algum “set” pra especificar onde o CB deve estar?

Vc tem que usar um gerenciador de layout, nulo, absoluto, border… Aí depois um setLocation, mas vc tá desenhando a tela na mão?

Sim, mas na verdade a ideia nao era ter uma tela muito detalhada. Só o Panel com o gráfico e as legendas/títulos. Como pra criar as legendas/títulos foi tranquilo, pensei que também seria de boa adicionar os CBs.

Tu recomenda fazer de outra maneira? Porque a medida que fui criando o gráfico veio vindo ideias na cabeca. Depois do CBs queria adicionar algum filtro pra data, também.

Olha, vc pode criar um JFrame usando o window builder, ou o design do Netbeans, entra nesse site e digita chart.

1 curtida

Boa, vou dar uma olhada nisso.