Adicionar CheckBoxes a um FreeChart

6 respostas
L

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.

6 Respostas

rodriguesabner

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

L

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

rodriguesabner

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

L

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.

rodriguesabner

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

L

Boa, vou dar uma olhada nisso.

Criado 17 de setembro de 2019
Ultima resposta 17 de set. de 2019
Respostas 6
Participantes 2