Erro no for

Vou tentar explicar um pouco do meu projeto:

Estou fazendo um programa que desenha tabelas DED de banco de dados, só q é baseado em Data Warehouse, ou seja o DED é composto por tabelas comuns que possuem chave primaria e estrangeira, mas a unica diferença que ela é composta tb por uma tabela FATO que contem todas as chaves primarias e estrangeiras das tabelinhas comuns.

Sendo assim meu programa precisa que ao vc preencher as tabelas comuns, quando clicarmos por ultimo para desenhar a janela FATO automaticamente tem que no desenho dela aparecer todas as chaves estrangeiras e primarias das tabelas comuns q o usuario ja fez.

Enfim, meu programa tenta armazenar em um vetor todas as chaves, só q está acontecendo um problema ele só desnha a primeira chave da primeira tabela. n desenha mais nada, tenho p mim q eles só está entrando no for uma vez.

abaixo mostro um pouco do codigo p alguem pode ver qual o problema.

esse identifica o atributo q contem chave primaria

[code]if(atributo[a].contains("Primary Key") ){

Somar.setsomar();
janelafato.Chaves(atributo[a]);

}

[/code]
Essa é a classe somar que é referida ali em cima

[code]public static void setsomar(){
nfato2++;
}
public static int getsomar(){
return nfato2;
}

[/code]
Essa é a classe janela fato

[code]static void Chaves(String ch) {

int i = Somar.getsomar();
atribi=ch;

}

[/code]
E em janelafato temos a classe graphic que desenha tabela e dentro dela escreve os atributos

g.drawString(atribi,var1,var2);

var1 e var2 , é só variavel de posição n interfere no codigo

o que há de errado???

Posta o código do For pra gente dar uma olhada !