grafix.telas.PanelMolduras.java Source code

Java tutorial

Introduction

Here is the source code for grafix.telas.PanelMolduras.java

Source

/*
  Copyright (C) 2001-2012, Joao Medeiros, Paulo Vilela (grafix2.com)
      
  Este arquivo  parte do programa Grafix2.com
      
  Grafix2.com  um software livre; voc pode redistribui-lo e/ou 
  modifica-lo dentro dos termos da Licena Pblica Geral GNU como 
  publicada pela Fundao do Software Livre (FSF); na verso 2 da 
  Licena.
    
  Este programa  distribuido na esperana que possa ser til, 
  mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAO a qualquer
  MERCADO ou APLICAO EM PARTICULAR. Veja a
  Licena Pblica Geral GNU para maiores detalhes.
    
  Voc deve ter recebido uma cpia da Licena Pblica Geral GNU
  junto com este programa, se no, veja uma cpia em
  <http://www.gnu.org/licenses/>
      
 */

package grafix.telas;

import grafix.graficos.eixos.Eixo;
import grafix.graficos.elementos.ElementoGrafico;
import java.awt.*;
import java.util.*;
import javax.swing.JPanel;
import org.jfree.chart.*;

public class PanelMolduras extends JPanel {

    private Vector<MolduraAreaDados> molduras;
    private JanelaGraficos janela;

    public PanelMolduras(JanelaGraficos janela) {
        this.janela = janela;
        this.setOpaque(false);
        this.setBackground(Color.green);
        this.criarMolduras();
    }

    private void criarMolduras() {
        molduras = new Vector<MolduraAreaDados>();
        Vector<Eixo> eixosVisiveis = getJanela().getConfiguracoesJanela().getEixosVisiveis();
        int contador = 0;
        this.setIgnoreRepaint(true);
        for (Eixo eixo : eixosVisiveis) {
            MolduraAreaDados novaMoldura = new MolduraAreaDados(this, eixo, contador++);
            getMolduras().add(novaMoldura);
            add(novaMoldura);
        }
        this.setIgnoreRepaint(false);
    }

    @Override
    public void paintComponent(java.awt.Graphics g) {
        super.paintComponent(g);
        try {
            posicionarMolduras();
        } catch (Exception e) {
        }
    }

    private void posicionarMolduras() {
        for (int i = 0; i < getMolduras().size(); i++) {
            getMolduras().get(i).setPosicao(getJanela().getPanelGraficos().getAreaData(i));
        }
    }

    public JanelaGraficos getJanela() {
        return janela;
    }

    public void habilitarEventos() {
        for (MolduraAreaDados m : molduras) {
            m.adicionarEventos();
        }
    }

    public void desabilitarEventos() {
        reiniciarMolduras();
    }

    public void reiniciarMolduras() {
        this.removeAll();
        criarMolduras();
    }

    public Vector<MolduraAreaDados> getMolduras() {
        return molduras;
    }

    public void setMolduras(Vector<MolduraAreaDados> molduras) {
        this.molduras = molduras;
    }

    public void excluirElementoGrafico(ElementoGrafico elementoExcluido) {
        for (MolduraAreaDados m : molduras) {
            Vector<ElementoGrafico> elems = m.getAnaliseAcao().getElementos();
            elems.remove(elementoExcluido);
        }
        janela.getTela().atualizarJanelasGraficos();
    }

}