chuidiang.graficos.objetos_graficos
Class Tarta

java.lang.Object
  extended by chuidiang.graficos.objetos_graficos.AbstractObjetoGrafico
      extended by chuidiang.graficos.objetos_graficos.Tarta
All Implemented Interfaces:
ObjetoGrafico

public class Tarta
extends AbstractObjetoGrafico

Gráfico de tarta. Se instancia pasándole un array de valores double. Supone que la suma de todos ellos el el 100% de la tarta y calcula para cada valor su porción correspondiente de tarta. Dibuja un circulo con sectores rellenos, en el que cada sector corresponde a uno de los numeros del array.


Constructor Summary
Tarta(double[] valores, java.awt.Color[] colores)
          Se le pasa el array de valores para el gráfico de tarta y los colores de los sectores.
 
Method Summary
protected  double dameAngulo(double porcentaje)
          Devuelve el ángulo en grados que corresponde a un porcentaje determinado.
protected  java.awt.geom.Point2D dameCentro()
          Devuelve las coordenadas del centro del Lienzo en unidades de usuario.
 double[] damePorcentajes()
          Devuelve los porcentajes correspondientes a los valores que se le pasaron.
protected  double dameRadio()
          Devuelve el radio de la tarta, haciendo que sea el 90% del eje más pequeño.
 void dibujate(InterfaceEscalaGrafica escala)
          Dibuja el gráfico de tarta sobre la escala que se le pasa.
 void tomaValores(double[] valores)
          Se le pasan los valores que debe representar en el gráfico de tarta.
 
Methods inherited from class chuidiang.graficos.objetos_graficos.AbstractObjetoGrafico
addObservadorRepintado, necesitasRepintado, removeObservadorRepintado, setNecesitoRepintado
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Tarta

public Tarta(double[] valores,
             java.awt.Color[] colores)
Se le pasa el array de valores para el gráfico de tarta y los colores de los sectores. Si el array de colores no es del mismo tamaño que el de valores, cuando se terminen los colores para cada valor, volverán a repetirse. Los valores no es necesario que estén en porcentaje. La clase calcula los porcentajes correspondientes a cada valor para asignarles el tamaño de su trozo de tarta.

Method Detail

tomaValores

public void tomaValores(double[] valores)
Se le pasan los valores que debe representar en el gráfico de tarta. Tira los valores anteriores. La tarta cambiará en el próximo refresco del Lienzo.


damePorcentajes

public double[] damePorcentajes()
Devuelve los porcentajes correspondientes a los valores que se le pasaron. La suma de estos porcentajes dará 1.0


dibujate

public void dibujate(InterfaceEscalaGrafica escala)
Dibuja el gráfico de tarta sobre la escala que se le pasa. Hace que el circulo de la tarta ocupe el 90% del Lienzo por el lado del eje más pequeño en unidades de usuario (no en pixels).


dameRadio

protected double dameRadio()
Devuelve el radio de la tarta, haciendo que sea el 90% del eje más pequeño.


dameCentro

protected java.awt.geom.Point2D dameCentro()
Devuelve las coordenadas del centro del Lienzo en unidades de usuario. Este centro será el centro de la tarta.


dameAngulo

protected double dameAngulo(double porcentaje)
Devuelve el ángulo en grados que corresponde a un porcentaje determinado. El porcentaje se pasa en tanto por 1 (de 0.0 a 1.0). Devuelve un ángulo entreo 0 y 360.