Como implementar isso no java?

Pessoal, estou desenvolvendo um projeto pra faculdade e queria saber como posso implementar isso abaixo:

Tenho um programa q capta informaçoes do disco rigido, como podem existir varios discos rigidos tenho que criar uma rotina dinamica para captar os dados do disco e entao ficar gerando um gráfico de acordo com um tempo especificado que o usuário inserir.

Primeiramente criei um classe DadosDiscoUtilizado:

[code]public class DadosDiscoUtilizado {
private int disco_OID;
private double tam_Usado = 0;
private double tam_total = 0;
private double tam_Cluster = 0;
private int tempo_coleta = 0;

private double tam_total_GB;
private double tam_Usado_GB;
private double tam_GB = 1073741824;

public DadosDiscoUtilizado(int discoOID, double usado, double total, double cluster, int tempo) {
    disco_OID = discoOID;
    tam_Usado = usado;
    tam_total = total;
    tam_Cluster = cluster;
    tempo_coleta = tempo;
    EspacoTotalGB();
    EspacoUsadoGB();
}

private void EspacoTotalGB() {
    double total = tam_total * tam_Cluster;
    tam_total_GB = total/tam_GB;
}

private void EspacoUsadoGB() {
    double total = tam_Usado * tam_Cluster;
    tam_Usado_GB = total/tam_GB;
}

public double getTam_total_GB() {
    EspacoTotalGB();
    return 1;
    //return tam_total_GB;
}

public double getTam_Usado_GB() {
    EspacoUsadoGB();
    return tam_Usado_GB;
}

[/code]

Depois criei uma class DataSet para ficar armazenando estes dados…

public class DiscoUtilizadoDataSet {

    private Vector vetDados = new Vector();

    public DiscoUtilizadoDataSet(int discoOID,double tamUtilizado, double tamTotal, double cluster, int tempo){ 
        vetDados.add (new DadosDiscoUtilizado(discoOID,tamUtilizado,tamTotal,cluster, tempo));
    }
    
    public DiscoUtilizadoDataSet(DadosDiscoUtilizado da) {
        vetDados.add (da);
    }

    public Vector getVetDados() {
        return vetDados;
    }

    public void setVetDados(Vector vetDados) {
        this.vetDados = vetDados;
    }
   

}

Só que estou com muito problema para fazer isso que eu quero. Pois no programa principal já criei hashmap
( Map<i,DadosDiscoUtilizado>, Map<i.DiscoUtilizadoDataSet> …) entre diversas coisas

                DefaultCategoryDataset defaultCategoryDataset = new DefaultCategoryDataset();
                DadosDiscoUtilizado dDisco = (DadosDiscoUtilizado) dados.get(0);
                defaultCategoryDataset.addValue(dDisco.getTam_Usado_GB(), "Tamanho Usado", String.valueOf(dDisco.getTempo_coleta()));
                defaultCategoryDataset.addValue(dDisco.getTam_total_GB(), "Tamanho Total", String.valueOf(dDisco.getTempo_coleta()));

E não tem jeito de criar o gráfico corretamente dos disco rigidos

Desde já agradeço a quem se interessar em me ajudar

Eu tenho que criar um DataSet para cada disco ?

O objetivo é ter um lugar que sempre fique armazenando os dados de cada disco.

Acho que você não conseguiu explicar claramente o contexto do seu problema…
Coisas como “uma rotina dinamica para captar os dados do disco” ficaram muito vagas…Tente dizer exatamente o que seu software faz.

Gerar gráficos é simples, basta ter as informações que se quer ilustrar…Você quer gerar gráfico do que exatamente?