ola pessoal, gostaria da ajuda de vcs por favor
oq indica este erro?
Exception in thread “AWT-EventQueue-0” java.lang.IllegalArgumentException: setSelectedIndex: 2 out of bounds
acontece isso, quando eu seleciono a 3 linha da minha tabela
código:
private void selecionaContratos(String id_obra){
for (int i = 0; i < contratos.size(); i++){
if (contratos.get(i).getObra() == id_obra){
cbObra.setSelectedIndex(i);
return;
}
}
}
pmlm
Agosto 18, 2010, 5:06pm
#2
Se estás a comparar Strings deves usar equals e não ==
é verdade! nao me atentei a isso
engraçado que o netbeans nao alertou nada… geralmente ele alerta! isso pq baixei a nova versao
resolvido:
if (contratos.get(i).getObra().equals(id_obra))
O Netbeans nao acusou erro pq comparar variaveis String com == é valido.
A questao eh que dessa forma, o que ele compara sao os objetos (ou o endereco
de memoria deles), e nao o seu valor…
=]
ixi, tinha funcionado neh
mas ai fui acrescenter mais um registro e voltou o erro… nao entendi pq
setSelectedIndex: 4 out of bounds
oq pode estar acontecendo?
Entao brow,
Acho que o problema esta na linha
cbObra.setSelectedIndex(i);
Acho que este componente nao tem 4 linhas (ou registros)
=]
existem 7 linhas e 7 registros
todas que eu passo da certo, inclusive a ultima
mas o registro que esta na linha 5 da este erro, ou se eu cadastrar este mesmo item ele vai aparecer em outra posicao, mas vai dar o mesmo erro… ele é diferente dos outros
ex: todos ai sao codigo 002 e o unico que é o 003 da este erro
Fala Brow
E como vc ta preenchendo ele?
preenchendo oq? o combobox?
rafa120
Agosto 18, 2010, 7:13pm
#10
cara…ta mto esquisito isso
eu mudei o for pra este jeito
for (int i = 0; i < cbObra.getItemCount(); i++){
ai ele nao lança erro, mas mostra os itens do combobox trocado
agora ele mostra o 003 no lugar do 002
to entendendo mais nada