Switch...Case

4 respostas
Matheus_terra

Boa tarde pessoal,

Eu gostaria de saber se pode e como usar um switch…case num método ActionPerformed().

4 Respostas

douglaskd

public void actionPerformed (ActionEvent e) { switch(e.getSource()){ case... case... } }

seria algo assim ? o que você deseja fazer ?

E

getSource() ( http://docs.oracle.com/javase/6/docs/api/java/util/EventObject.html#getSource() ) retorna um Object.

Você não pode usar um switch/case onde os casos sejam objetos (exceto no caso extremamente particular e raro de que o objeto seja uma Enum).

Portanto, resumindo, você não pode usar switch/case, mas pode talvez usar if (… == …).

De qualquer forma, se você está tendo de fazer esse tipo de coisa, é sinal que está usando um único ActionListener para atender vários elementos de uma tela, o que normalmente é “bad style”.

douglaskd

entanglement:
getSource() ( http://docs.oracle.com/javase/6/docs/api/java/util/EventObject.html#getSource() ) retorna um Object.

Você não pode usar um switch/case onde os casos sejam objetos (exceto no caso extremamente particular e raro de que o objeto seja uma Enum).

Portanto, resumindo, você não pode usar switch/case, mas pode talvez usar if (… == …).

De qualquer forma, se você está tendo de fazer esse tipo de coisa, é sinal que está usando um único ActionListener para atender vários elementos de uma tela, o que normalmente é “bad style”.

realmente respondi e não pesquisei…

pesquisei agora em ingles e veio a primeira resposta do stackoverflow falando exatamente o que você disse…rsrs

acho que ele poderia usar aquela técnica sugerida pelo Vini em uma calculadora…

WellingtonRamos

Matheus terra:
Boa tarde pessoal,

Eu gostaria de saber se pode e como usar um switch…case num método ActionPerformed().


poder, pode. Mas não significa que seja uma boa prática. O que você precisa fazer para ter a necessidade de utilizar um switch-case?

Criado 26 de abril de 2013
Ultima resposta 26 de abr. de 2013
Respostas 4
Participantes 4