| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2006 19:00:06
|
tork
Thread.start()
Membro desde: 05/08/2004 11:25:21
Mensagens: 48
Localização: São Paulo - SP
Offline
|
Eu fiquei em dúvida se postava isso aqui, no avançado ou no interface gráfica. Mas eu acho que aqui está melhor.
Bom, eu to fazendo um programa e eu quero fazer o seguinte: uma verificação por loop da cor de fundo de cada botão.
Eu sei que daria para fazer tudo por if, if, if, if.. mas aí é absurdo. São 176 botões.
Então, como eu sei que deve ter um jeito mais fácil de se fazer isso e eu não sei como esse jeito é, eu vim perguntar pra vcs! =)
A idéia básica é:
INICIO DO PRIMEIRO LOOP
IF botao1.getBackground==Color.WHITE
PRINT "0"
FIM DO PRIMEIRO LOOP
INICIO DO SEGUNDO LOOP
IF botao2.getBackground==Color.WHITE
PRINT "0"
FIM DO SEGNUDO LOOP
e assim sucessivamente...
Existem outras cores para verificar, mas tendo a idéia básica eu coloco no meu código o resto.
Valeu,
Tork
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2006 19:01:36
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Pergunta imbecil número um. Como é que você criou esse caminhão de botões? Usou um array?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2006 19:03:27
|
tork
Thread.start()
Membro desde: 05/08/2004 11:25:21
Mensagens: 48
Localização: São Paulo - SP
Offline
|
Hahahahaa, boa!
Eu criei usando três loops diferentes. Um para declarar os botões, um para criar o código dos botões e um para adicioná-los à janela.
Todos os botões tem o mesmo nome padrão. 0101, 0102, ou seja, linha 01, coluna 01, linha 01, coluna 02. Com isso eu criei os loops variando de 01 até 11 para linha e de 01 até 16 para coluna.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2006 19:05:41
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Estou usando o método "socrático". Vou lhe perguntando as coisas até que você mesmo descubra a solução. Se você usou três loops...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2006 19:11:56
|
tork
Thread.start()
Membro desde: 05/08/2004 11:25:21
Mensagens: 48
Localização: São Paulo - SP
Offline
|
Hahaha, beleza, aceito seu jeito!
Sim, eu usei três loops... Hehehe
Mas então, a minha dúvida é como eu "navego" pelos botões. Porque esse três loops era só impressão.
porque se eu armazenar todos os nomes de botões em um array por exemplo, não vou conseguir o método 'getBackground' porque não vai ser compatível com o tipo String.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/08/2006 19:14:11
|
tork
Thread.start()
Membro desde: 05/08/2004 11:25:21
Mensagens: 48
Localização: São Paulo - SP
Offline
|
Hum, será que se eu gerar varias variáveis, armazenando a cor de cada botão e depois verificar cada variável dá certo?
Não, aí eu fico na mesma, com os ifs...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2006 18:56:38
|
tork
Thread.start()
Membro desde: 05/08/2004 11:25:21
Mensagens: 48
Localização: São Paulo - SP
Offline
|
Ainda não consegui achar uma solução.
Eu preciso fazer um loop para verificar qual a cor de um número de botões e executar determinadas coisas dependendo da cor.
Alguém pode me ajudar?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2006 20:31:20
|
rmarin
JavaEvangelist
![[Avatar]](/images/avatar/46e0eae7d5217c79c3ef6b4c212b8c6f.jpg)
Membro desde: 13/07/2005 09:14:45
Mensagens: 360
Localização: São Paulo
Offline
|
Cara, coloca seu código aqui. Quem sabe posso te ajudar.
|
Roberto Marin
__________________________________________
Odeio auto-nerds! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2006 21:20:07
|
Mantu
GUJ Ranger
![[Avatar]](/images/avatar/35285aa740b37f0b1933da97bf4ca4b9.jpg)
Membro desde: 27/03/2006 09:05:16
Mensagens: 961
Localização: São Paulo/SP
Offline
|
Ou rmarin! Vamos tentar ensinar o rapaz a pescar!
Caro colega tork! Me diga uma coisa: As ações a serem tomadas dependem unica e exclusivamente da cor do botão, seja este botão qual for?
|
[]'s
Mantu
"Vou lançar o 'Caguei'. Caguei para o 'Cansei'". Luciano Camargo
"O povo votou contra a opinião pública". Um certo jornalão da mídia golpista, a respeito da vitória de um certo cadidato a presidente do Brasil.
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/08/2006 11:08:30
|
tork
Thread.start()
Membro desde: 05/08/2004 11:25:21
Mensagens: 48
Localização: São Paulo - SP
Offline
|
Sim, dependem da cor do botão.
Eu tenho, por exemplo, 5 botões. Quando um botão é clicado ele muda de cor. Depois de definidas as cores de todos os botões, eu quero fazer uma verificação da cor de cada botão. Se o botão1 for verde, determinada ação acontece. Se for azul, outra coisa acontece.
Valeu,
Tork
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/08/2006 11:34:21
|
tatianaesc
JavaChild
![[Avatar]](/images/avatar/ff84a9f3c0d335d25413dd8dfc9b2e8f.jpeg)
Membro desde: 09/04/2006 23:58:04
Mensagens: 114
Localização: Rio de Janeiro
Offline
|
Olá,
Não se se eu entendi bem, mas pelo que eu entendi, cada possível ação está associada a uma cor, e não a um botão específico, certo?
Se for assim, você pode criar um método de verificação assim:
private void checkButtonColor( JButton button )
{
if( button.getBackground==Color.WHITE)
{
//do something
}
else if( button.getBackground==Color.BLACK)
{
//do something
}
...
}
Agora, se pra cada botão específico for uma ação diferente, aí você provavelmente terá que checar de um em um...
[]´s
Tatiana
|
There´s no place like 127.0.0.1 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/08/2006 12:36:52
|
tork
Thread.start()
Membro desde: 05/08/2004 11:25:21
Mensagens: 48
Localização: São Paulo - SP
Offline
|
Ah sim, eu posso checar um por um, fazer esse código aí para todos os botões, mas são 176, meio complicado.
Mas agora que você postou esse código, eu acho que eu poderia fazer um loop que chama esse método com cada botão como argumento. Em cada loop o método checkButtonColor é chamado com um botão. Vou tentar isso.
Valeu.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/08/2006 12:46:34
|
tatianaesc
JavaChild
![[Avatar]](/images/avatar/ff84a9f3c0d335d25413dd8dfc9b2e8f.jpeg)
Membro desde: 09/04/2006 23:58:04
Mensagens: 114
Localização: Rio de Janeiro
Offline
|
Oi,
Você não precisa escrever esse código para cada botão. Como você disse, basta em cada verificação, você chamar o método. Isso não tem jeito se você precisa testar um por um.
[]´s
Tatiana
|
There´s no place like 127.0.0.1 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/08/2006 12:48:14
|
tork
Thread.start()
Membro desde: 05/08/2004 11:25:21
Mensagens: 48
Localização: São Paulo - SP
Offline
|
É mesmo, você falou isso: "Agora, se pra cada botão específico for uma ação diferente, aí você provavelmente terá que checar de um em um... " Aí sim, tá certo.
Valeu!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/08/2006 19:19:24
|
tork
Thread.start()
Membro desde: 05/08/2004 11:25:21
Mensagens: 48
Localização: São Paulo - SP
Offline
|
Mas, então, só para ficar claro. Não tem um jeito de eu fazer um loop para mandar todos os botões? Porque eu tentei fazer, mas no loop, eu preciso incrementar '1' no botão que eu vou mandar.
Por exemplo:
Loop 1
checkButtonColor(Botão1);
Loop 2
checkButtonColor(Botão2);
Loop 3
checkButtonColor(Botão3);
Só que assim eu não sei como fazer para ir mudando para o próximo botão. Se fosse uma String daria para adicionar um número correspondente no fim, mas passando botões como argumento eu não sei.
O que eu entendi que dá para fazer é:
buttonVerificaCor
ActionListener{
verificaCor(botão1);
verificaCor(botão2);
verificaCor(botão3);
}
Foi assim que eu entendi. Mas deve ter um jeito menos consumidor de linha de código, não?
|
|
|
 |
|
|