Switch com JButtonGroup

Java

01/12/2010

Amigos,

Criei um frame com os seguintes compoentes:

1 JButtonGroup
6 RadioButton {Cheques Emitidos, Cheques, nao Emitidos, Cheques em transito, Cheques cancelados, Cheques conciliados e Todos}


Esses irao me auxiliar para fazer um where em uma tabela, de acordo com qual radiobutton for selecionado.

Consegui fazer utilizando if else, mas para melhor manutencao e apresentacao do fonte mesmo gostaria de saber se é possivel usar o switch case.

ja tentei assim e nao consigo progresso:


switch (ButtunGroup.getSelectedIndex()) {

0: String filtro = "<aki vai a where>"

1: String filtro = "<aki vai outra where>"

2: ... e assim por diante

} 





da erro logo na linha do switch

alguem poderia me ajudar
Iramar Junior

Iramar Junior

Curtidas 0

Respostas

Rodrigo Andrade

Rodrigo Andrade

01/12/2010

Boa tarde, põe o código completo da classe ou método e o do switch... 
GOSTEI 0
Andrei Hirata

Andrei Hirata

01/12/2010

OLHANDO POR CIMA, Acredito que (ButtunGroup.getSelectedIndex()) NESTA PARTE ele não esteja pegando o número e por isto não está entrando no seus IF.. Faça o seguinte.Crie um variavel inteira Y = (ButtunGroup.getSelectedIndex())  e veja oque é retornado TALVEZ A FUNCAO QUE ESTEJA USANDO NAO É A CORRETA .VEJA OUTRAS FUNCOES
GOSTEI 0
Rafael Costa

Rafael Costa

01/12/2010

Cara eu resolveria isto da seguinte forma:
iria na propriedade actionCommand de cada radioButton e colocaria um valor diferente para cada um.
e então no codigo faria assim:
switch(buttonGroup.getSelection().getActionCommand()){ case 1: seu codigo break; case 2: ... . . .}
Com isso você pega o valor que você colocou no action command do radio que estiver selecionado.
flw
GOSTEI 0
Iramar Junior

Iramar Junior

01/12/2010

Bom dia!!

Andrei obrigado por responder, porem, no meu buttongroup nao tem a funcao getSelectedIndex(),achei estranho de nao ter, o que pode esta acontecendo?


Rafael agradeço tb por responder, fiz do jeito que explicou e deu certo. Somente um detalhe, tem que converter para integer.

switch(Integer.parseint(buttonGroup.getSelection().getActionCommand()))



Obrigado
GOSTEI 0
Davi Costa

Davi Costa

01/12/2010

É isso mesmo Iramar não conseguimos fazer switch de String, pelo menos até o Java 6,
mas há promessas de mudança para isso a partir de Java 7. Resolvido o problema fechar essa Thread ;).

Att Davi
GOSTEI 0
Dyego Carmo

Dyego Carmo

01/12/2010

Utilize um ENUM :)
Switch em enus são permitidos.
GOSTEI 0
POSTAR