41 lines
1.1 KiB
Java
41 lines
1.1 KiB
Java
import java.awt.Graphics2D;
|
|
import java.awt.geom.Point2D;
|
|
import java.awt.geom.Line2D;
|
|
|
|
/**
|
|
* Classe che rappresenta un grafico a barrecomposto da un numero variabile di dati
|
|
* @author radaelli11353
|
|
*/
|
|
public class Chart {
|
|
private int[] valori;
|
|
private int nValori;
|
|
|
|
/**
|
|
* Costruttore della classe Chart
|
|
* @param maxValori Numero massimo di valori del grafico
|
|
*/
|
|
public Chart(int maxValori) {
|
|
valori = new int[maxValori];
|
|
nValori = 0;
|
|
}
|
|
|
|
/**
|
|
* Metodo per aggiungere un dato al grafico
|
|
* @param valore Valore da aggiungere al grafico
|
|
*/
|
|
public void add(int valore) {
|
|
if(nValori >= valori.length) throw new IllegalArgumentException();
|
|
valori[nValori] = valore;
|
|
nValori++;
|
|
}
|
|
|
|
/**
|
|
* Metodo che disegna il grafico in un contesto grafico
|
|
* @param g2 Contesto grafico
|
|
*/
|
|
public void draw(Graphics2D g2) {
|
|
for(int i = 0; i < nValori; i++) {
|
|
g2.draw(new Line2D.Double(10+i*10, 450, 10+i*10, 450-valori[i]));
|
|
}
|
|
}
|
|
} |