Switch...Case

Boa tarde pessoal,

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

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

seria algo assim ? o que você deseja fazer ?

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”.

[quote=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”.
[/quote]

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…

[quote=Matheus terra]Boa tarde pessoal,

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

[/quote]
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?