O método addItem do JComboBox aceita um objeto como parâmetro.
O objeto pode ser qualquer Bean teu. O método toString do objeto é que especifica o que aparece na tela. Logo, tu podes fazer da seguinte forma:
// o teu bean com código e valorpublicclassBean{privateintcode;privateStringvalue;publicBean(intcode,Stringvalue){this.code=code;this.value=value;}publicStringtoString(){return(this.value);}// isso é o que vai APARECER no JComboBox}
Quando precisares recuperar o valor selecionado, tu recuperas novamente o objeto e chama o devido método.
Z
Zabeu
que complicado, terei que fazer outra classe para isso?
o jComboBox não contem colunas?
sds,
Y
Yky_Mattshawn
Até onde sei, não tem não, e é por isso que o addItem aceita objetos, pra fazer exatamente isso que tu estás precisando.
Z
Zabeu
=/
Complicado…
Será que não tem a opção mesmo? Alguem saberia nos informar?
sds,
hodrigohamalho
É pelo jeito você vai ter q fazer como o Yky disse…
não tinha visto que você queria q ele ficasse invisível, ai tinha escrito outra coisa aqui :~~
lina
Oi,
A cada item inserido no JComboBox, será criado um indice automaticamente.
Então, se a sua ideia era criar uma “coluna” no combo para obter o indice (para uso futuro) não será necessário.
Você pode ter o indice de cada item, com o comando: combo.getSelectedIndex();
Tchauzin!
Z
Zabeu
Rodrigo, existe uma forma de fazer sem usar uma classe ??? Mesmo que o codigo ( primeira coluna ) fique “visivel”??
Y
Yky_Mattshawn
Zabeu:
Rodrigo, existe uma forma de fazer sem usar uma classe ??? Mesmo que o codigo ( primeira coluna ) fique “visivel”??
Aí na hora que o usuário escolher uma opção, tu recuperas o valor escolhido e faz um substring pegando o início da String até o traço (menos um caractere, que é o espaço).
lina
Yky Mattshawn:
Zabeu:
Rodrigo, existe uma forma de fazer sem usar uma classe ??? Mesmo que o codigo ( primeira coluna ) fique “visivel”??
Aí na hora que o usuário escolher uma opção, tu recuperas o valor escolhido e faz um substring pegando o início da String até o traço (menos um caractere, que é o espaço).
Oi,
Eu faria no lugar deste substring um split do traço e receberia em um “vector” de string (String[]).
Tchauzin!
Y
Yky_Mattshawn
lina:
Yky Mattshawn:
Zabeu:
Rodrigo, existe uma forma de fazer sem usar uma classe ??? Mesmo que o codigo ( primeira coluna ) fique “visivel”??
Aí na hora que o usuário escolher uma opção, tu recuperas o valor escolhido e faz um substring pegando o início da String até o traço (menos um caractere, que é o espaço).
Oi,
Eu faria no lugar deste substring um split do traço e receberia em um “vector” de string (String[]).
Tchauzin!
Bom, no ‘eu faria’, eu certamente optaria por criar o Bean e recuperar o objeto corretamente.
Entretanto, nestas circunstâncias, eu ainda preferiria usar o substring, pois, este, criaria apenas 1 String contendo exatamente o valor de que eu precisaria (o código).
Se usar um Split pelo traço, criarás ao todo 3 objetos String. Dois objetos pelo próprio split, e mais um objeto quando utilizasse o trim no valor para retirar o espaço existente entre o código e o traço.
Z
Zabeu
o método do Objeto é menos “porco” diriamos?
lina
Yky Mattshawn:
lina:
Yky Mattshawn:
Zabeu:
Rodrigo, existe uma forma de fazer sem usar uma classe ??? Mesmo que o codigo ( primeira coluna ) fique “visivel”??
Aí na hora que o usuário escolher uma opção, tu recuperas o valor escolhido e faz um substring pegando o início da String até o traço (menos um caractere, que é o espaço).
Oi,
Eu faria no lugar deste substring um split do traço e receberia em um “vector” de string (String[]).
Tchauzin!
Bom, no ‘eu faria’, eu certamente optaria por criar o Bean e recuperar o objeto corretamente.
Entretanto, nestas circunstâncias, eu ainda preferiria usar o substring, pois, este, criaria apenas 1 String contendo exatamente o valor de que eu precisaria (o código).
Se usar um Split pelo traço, criarás ao todo 3 objetos String. Dois objetos pelo próprio split, e mais um objeto quando utilizasse o trim no valor para retirar o espaço existente entre o código e o traço.
Oi,
Eu não disse que o Bean seria melhor ou pior opção, apenas falei que no lugar de substring eu usaria o split. Provavelmente ele não quer apenas o indice para manipular e sim os 2 conteudos do combo, para utiliza-lo em uma base de dados ou então indicar que o indice 1 é igual ao valor etc… etc… porém, estou apenas imaginando isso!
As 3 formas ditas são boas, basta escolher… O bom do java é isso, você tem opção para criar seus proprios componentes e sobreescrever métodos conforme a sua necessidade.
Tchauzin!
ViniGodoy
Uma forma simples de criar classes para isso é através de um enum.