Loop para verificar cor de botão

[quote=tork]Ué, o código é um loop que gera um linha de texto.

Por exemplo:

for (int x = 0; x < 16; x++){
System.out.println("private JButton botao"+x);
}

Aí, eu peguei essas linhas e colei no código.[/quote]

Pra começar, não faça isso!!! Use um for, mas no programa mesmo… algo assim:

JButton botao;
for (int x = 0; x < 16; x++){
    botao = new JButton();
    botao.setName("botão" + x);
    seuContainer.add(botao);
}

observa ali que eu coloquei um nome interno pra cada botão, você pode usar isso ou colocar os botões também em uma lista, para você poder iterar por ela mais tarde.

flw

Tork, e fazendo desta forma que o dudaskank falou, você pode chamar o método de verificação das cores dos botões para cada elemento da sua coleção, usando o Iterator.

[]´s
Tatiana

Olá tork!
quando vc respondeu ao Thingol, vc disse:

Teria como vc postar aqui o seu código referente a aos loops que criaram os botões?

Não dá para postar o código aqui, é muito grande. Eu fiz de um jeito muito ‘primitivo’. O jeito que o dudaskank falou é melhor e eu não tinha pensado nele. Na verdade, eu estou fazendo isso de xereta e é por isso que eu usei um código tão trabalhoso.

Mantu, os loops que eu fiz foram só para gerar um texto-código que eu colei no arquivo java. O texto-código era algo como

private JButton botao1; private JButton botao2; //etc.

Vou arrumar meu código e posto aqui qualquer coisa.

Valeu ! :smiley:

Olha só então:
Vc deve estar inserindo estes botões em um JFrame ou JDialog ou JPanel, certo?
Todas essas 3 classes aí têm um método chamado getComponents que retorna um array de objetos do tipo Component. Um objeto do tipo JButton é, também, um objeto do tipo Component, assim como objetos do tipo JTextField, do tipo JLabel também o são.
Sendo assim, vc pode obter, a partir do seu JFrame(ou JDialog ou JPanel, etc) um array com todos os componentes da sua tela. Daí, você poderia fazer uma iteracao sobre este array e, a cada elemento, primeiro você “perguntaria” se ele é um do tipo JButton; se for, então vc verifica a cor dele e faz o que for necessário; se não for, vc passa batido.
Tenta fazer allgo assim e depois nos conte se conseguiu, ou se é viável essa solução, ok?

Valeu Mantu, vou ver isso que você falou também! :smiley:

outra opção é, usando esse mesmo getComponents() que te retorna o array de componentes, é ir vendo o nome de cada um e se começa com “botão”, ou ainda ver se o componente é um JButton usando:

arrayDeComponentes[i] instanceof JButton

que te retorna true… mas isso se vc não tiver nenhum outro JButton no container claro, senão não da pra usar…

flw