Duvida Erro no Combo!

Galera , como posso fazer de um jeito que aceite pegar os componentes do combo, pq nesse caso que estou fazendo ele só seta os 5 primeiros,qq eu passo pra 20 ele não pega o que foi escolhido e da o erro na hora da consulta.

[code]cmbUF.setModel(new javax.swing.DefaultComboBoxModel(new String[] {" " , “Acre” , “Alagoas” , “Amapá”, “Amazonas” , “Bahia” , “Ceará” , “Distrito Federal” , “Espírito Santo” , “Goiás” , “Maranhão” , “Mato Grosso” , “Mato Grosso do Sul” , “Minas Gerais” ,“Pará” , “Paraíba”, “Paraná” , “Pernambuco” , “Piauí” , “Rio de Janeiro” , “Rio Grande do Norte” , “Rio Grande do Sul” , “Rondônia” , “Roraima” , “Santa Catarina”, “São Paulo”,“Sergipe” , “Tocantins” }));

cmbUF.setSelectedIndex(“ACRE”.equals(seguradoTO.getUF().toLowerCase()) ? 1 : 5); - da certo mas só seta o 5

cmbUF.setSelectedIndex(“ACRE”.equals(seguradoTO.getUF().toLowerCase()) ? 1 : 20);- erro (array) [/code]

Mostra o erro que dah no console…

abraço

o erro

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: setSelectedIndex: 20 out of bounds at javax.swing.JComboBox.setSelectedIndex(Unknown Source) at view.FrmCadastro.FrmCadastro.carregar(FrmCadastro.java:1424) at view.FrmCadastro.FrmCadastro.btnCarregarActionPerformed(FrmCadastro.java:997) at view.FrmCadastro.FrmCadastro.access$2(FrmCadastro.java:993) at view.FrmCadastro.FrmCadastro$5.actionPerformed(FrmCadastro.java:319) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

[quote=lokit"s]

o erro

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: setSelectedIndex: 20 out of bounds at javax.swing.JComboBox.setSelectedIndex(Unknown Source) at view.FrmCadastro.FrmCadastro.carregar(FrmCadastro.java:1424) at view.FrmCadastro.FrmCadastro.btnCarregarActionPerformed(FrmCadastro.java:997) at view.FrmCadastro.FrmCadastro.access$2(FrmCadastro.java:993) at view.FrmCadastro.FrmCadastro$5.actionPerformed(FrmCadastro.java:319) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)[/quote]

pelo que eu percebi o erro é que vc está passando uma instrução errada para o método setSelectionIndex, por que o paramentro dele não aceita esse tipo que vc passou!!!
posso tah engando tb!!!

é isso msm ele naum aceita, caso eu coloque 20 , isso é por causa so array …acho !

teria outra forma de selecionar os itens no combo.

O problema de setar sempre o 5 é causado porque é feita a comparação entre “ACRE” com letras em maiúsculo e uma String com letras minúsculas por causa do toLowerCase().

Agora a exceção não deveria ocorrer com índice 20, pois o array tem mais posições. Mas se quiser pode selecionar pelo nome do item.

cmbUF.setSelectedItem("Acre");

mas ai sempre ira setar na consulta esse item msm vc salvando com outro …

ex…escolhi parana na tela seto acre!

Eu escrevi “Acre” como exemplo. Tem que colocar o nome do item que deve ser setado.

Mas achei estranho não funcionar com index. Copiei seu código e executei com setSelectedIndex(20) e não deu exceção.

Falou…

Lower case = Caixa baixa = Minúsculas (abcdefghijklmnopqrstuvwxyz)
Upper case = Caixa alta = Maíusculas (ABCDEFGHIJKLMNOPQRSTUVWXYZ)

Para não levar em conta a diferença entre minúsculas e maiúsculas (como é o seu caso), em vez de usar equals, use equalsIgnoreCase. É mais rápido, mais preciso e mais garantido que usar equals + toUpperCase ou toLowerCase.

entanglement

valeu !!

então outra duvida é o seguinte qq eu salvo meu combo com são paulo e salvo ele seta o ultimo cara na tela que seria tocantins ,no banco esta com são paulo ,mas na tela ele seta com tocantins,coomo resolver isso!!

[code]// salva
cad.setUF(cmbUF.getSelectedItem().toString());

//carrega
cmbUF.setSelectedIndex(“Acre”.equalsIgnoreCase(seguradoTO.getUF().toLowerCase()) ? 1 : 27);[/code]