Como identificar um item na listView javafx

Olá, desculpe se pergunto algo lógico, mas programo à bastante tempo para web (php e demais) mas no desktop a lógica é outra…

bem é o seguinte:

criei uma listView javaFX que lista os resultados de uma pesquisa no banco mysql, esses resultados variam dependendo da pesquisa…

daí eu preciso pegar o id (do banco) de um item selecionado, exemplo… ao clicar em um item da lista eu quero abrir uma outra tela com os dados da pessoa pesquisada, porém, na lista aparece o nome da pessoa e não o id, e para abrir a outra tela eu preciso do id, pois vou pesquisar os dados da pessoa baseando-me no id e não no nome, pois os nomes se repetem e o id não…

eu já consegui pegar o que aparece na lista, no caso o nome da pessoa, mas preciso do id…
também já consegui pegar o índice da lista mas não adianta porque o mesmo sempre vai ser 0,1,2,3… e claro não bate com os ids das pessoas no banco…

Já tentei alterar esses indices com os ids das pessoas, mas também nada…

Já olhei na documentação também, mas não consegui nada de concreto, se puderem dar uma luz agradeço.

Quando for criar a lista pra popular o listview, usa uma lista de entidades ao invés de uma de strings dos nomes. Pra pegar o selecionado você usa listView.getSelectionModel().getSelectedItem() e dá o cast pra sua classe entidade (não sei se o cast é necessário, não me lembro bem de cabeça agora) e usa o .getId()

1 curtida

Desculpe a ignorância mas o que seria essa lista entidades? Tem como dar um exemplo?

A sua classe que você chama de pessoa, que tem nome, id, data de nascimento etc… é sua entidade. Pra você popular a ListView você cria uma lista dessas entidades entendeu? No caso do javafx é uma ObservableList que você consegue criar com o auxílio da classe FXCollections. Procura a documentação direitinho

1 curtida

Valeu! Pela ajuda…depois que você falou sobre a Entidade eu saí procurando e entendi direitinho, na verdade eu já havia visto isso mas estava tentando evitar achando que era exagero do programador, mas agora entendi a necessidade… muito obrigado pela ajuda.

1 curtida