Seja bem vindo ao Fórum do JavaFree.org
Aqui você irá encontrar respostas para TUDO o que você precisa sobre java.
Deseja participar? Crie sua conta ou efetue seu login
É o seguinte, fiz aquele joguinho do Einstein em java.
Ultilizando o ItemListener para acionar um evento, tenho o seguinte código:
E mais 3 outros JComboBox.
Minha dúvida é: tem como "enxugar" mais o código?
Tipo, vemos que o ItemListener é igual para todos, dá pra botar em um metodo para quando for adicionar no JComboBox ele seja acionado? ou algo parecido?
É o seguinte, fiz aquele joguinho do Einstein em java.
Ultilizando o ItemListener para acionar um evento, tenho o seguinte código:
E mais 3 outros JComboBox.
Minha dúvida é: tem como "enxugar" mais o código?
Tipo, vemos que o ItemListener é igual para todos, dá pra botar em um metodo para quando for adicionar no JComboBox ele seja acionado? ou algo parecido?
espero que dê pra entender
PS: dono e bebida são JComboBox
O Listener é um simples objeto - use apenas uma instância dele com uma variável.
Mais ou menos assim (ignorei os [x]):
[[]] _________________ Nome real: Carlos F. Heuberger
Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!
acabei esquecendo outra possibilidade (que não é minha preferida):
faz a classe onde tem esse código implementar o listener:
[[]]
_________________ Nome real: Carlos F. Heuberger
Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!
Dependendo da escolha, mudará a cor do painel em que o JComboBox foi inserido.
Gostaria de saber se dá pra fazer a mesma coisa que foi feita no código que postei no inicio?
Tenho esse código:
[...]
Tentei fazer assim:
dá erro nessa linha:
Mais uma vez.. brigadão pela força!
sem saber qual o erro vamos ter que adivinhar... um pouco...
(a mensagem do erro deve dar detalhes para ajudar a identificar o problema)
mas desconfio que deve ser algo em relação a "x" ou outra variável não ser final. Esse problema é um pouco mais complicado - sempre ocorre quando criamos uma classe anônima (interna) que usa uma variável local.
No fundo o compilador não sabe qual o valor da variável (x) que deve ser usado: o valor de quando o listener foi criado, o valor atual quando o listener for executado; e, principalmente, o que fazer se o valor for alterado dentro da classe interna.
Solução (meio estranha):
[[]]
PS: provavelmente só falta de capricho:
fabricioluna
Tentei fazer assim:
é "for" e não "if"... _________________ Nome real: Carlos F. Heuberger
Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!
então.. quando a gente quer usar um atributo dentro de um listener, tem que colocar "final", entendi?
o problema é uma variável local e qualquer classe interna, não somento um listener (apesar de ser o caso mais comum).
Um campo (variável de instâncio ou classe) não tem esse problema.
[[]] _________________ Nome real: Carlos F. Heuberger
Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!
fabriciolunaPosts:5
Bom dia pessoal.
É o seguinte, fiz aquele joguinho do Einstein em java.
Ultilizando o ItemListener para acionar um evento, tenho o seguinte código:
E mais 3 outros JComboBox.
Minha dúvida é: tem como "enxugar" mais o código?
Tipo, vemos que o ItemListener é igual para todos, dá pra botar em um metodo para quando for adicionar no JComboBox ele seja acionado? ou algo parecido?
espero que dê pra entender
PS: dono e bebida são JComboBox
simuPosts:9416