Como percorrer vários JTextFields com um clique do mouse?

3 respostas
FabricioPJ

Olá a todos. Estou implementando o jogo Batalha Naval para a faculdade. Para isso, criei 100 JTextFields que representam um tabuleiro 10 x 10, onde quando o usuário cliqua em um determinado JTextField, que possui ou uma fragata, ou um submarino, é exibida uma mensagem de que o alvo foi atingido, e seu respectivo contador é incrementado. Caso o contador do submarino chegue a 2, ele afunda, e caso o contador da fragata chegue a 3, ela afunda. Até ai tudo bem, o que quero saber é como, a cada clique do mouse, percorrer todos os 100 JTextFields, verificando se o usuário não atingiu nada, e exibindo uma mensagem de tiro na água?

O jogador tem 10 tiros disponíveis, por isso desejo saber como percorrer todos os 100 JTextFields.

Espero que tenham me entendido.

Grato pela atenção.

3 Respostas

Marlon_Meneses

vc pode organizar tudo em uma matriz de textfields
e então quando o usuário clicar vc percorre todos os textfiends com a interação da matriz

entendido?

fantomas

Se não me engano, vc pode obter um array de componentes que foram adicionados no painel (JPanel) .
Seria algo próximo disto:

Component[] cmps = myPanel.getComponents();

O ponto negativo desta idéia é que vc teria que verificar o tipo do componente para se certificar se é do tipo JTextField.

for(Component c : cmps) { if(c instanceof JTextFiled) { doSomething(); } }

flws

Marlon_Meneses

fantomas:
Se não me engano, vc pode obter um array de componentes que foram adicionados no painel (JPanel) .
Seria algo próximo disto:

Component[] cmps = myPanel.getComponents();

O ponto negativo desta idéia é que vc teria que verificar o tipo do componente para se certificar se é do tipo JTextField.

for(Component c : cmps) { if(c instanceof JTextFiled) { doSomething(); } }

flws

isso também é possível e realmente tem que ser feia a verificação de cada componente pra saber de que tipo ele é

Criado 22 de março de 2009
Ultima resposta 23 de mar. de 2009
Respostas 3
Participantes 3