Olá,
Estou fazendo uma aplicação em que captura dados de um combobox previamente carregado pelo bd, e insere novamente no BD.
Acontece que estou carregando o combobox com o código e nome (ex: 1- Luciano), e preciso capturar apenas o 1 para inserir no método cadastra(int cod, …).
Alguém poderia me ajudar com esse problema?
Obrigado.
ola amigo,
utilize o metodo indexof da classe String, procurando pelo “-”. Ai, vc pega a substring de 0 ate o indice retornado.
abraços
o correto seria no value do select você só deixar o código, e no text deixar essa informação… mas dá pra fazer o que você quer… é só quebrar a string pelo traço.
String s = "1- Luciano";
int valor = Integer.parseInt(s.split("-")[0].trim());
Obrigado pelas dicas amigos, vão ser de grande utilidade daqui pra frente.
Eu tinha resolvido o meu problema de outra forma, meio que na gambiarra.
Como os códigos estavam em ordem, capturei os índices somando com 1 para obter o código.
Mas já estou alterando para esse método.
Abraços.
O jeito sem gambiarras de fazer seria você usar o ComboBox model para inserir objetos de sua classe mesmo e não Strings.
Você sobrescreveria o método toString ou criaria um model próprio para dar a informação da maneira que quisesse (no caso, no formato ID - Nome) e depois pediria para o model o objeto concreto. Assim, não precisaria fazer separar string nenhuma.