[DICA] JavaFx - Populando um choiceBox com valores de vários campos

Durante minhas pesquisas para resolver o problema com chave estrangeira, descobri uma forma de popular um ChoiceBox com o valor de mais de um campo e com outras informações.
Supondo uma tabela com os campos:

CID_COD: Primary Key;
CID_NOME: Nome da cidade;
CID_UF: UF do estado;
Tendo a tabela as seguintes informações

COD CID_NOME CID_UF 1 Matelândia PR 2 Medianeira PR

Considerando um jdbcDatasource (jdbcDsCidade) devidamente ligado a essa tabela do banco:
pode ser feito da seguinte forma:

O ChoiceBox será populado da seguinte forma:

1 - Matelandia PR
2 - Medianeira PR

Bom, com isso, penso que seja possível desenvolver uma função para pegar os valores numéricos ou então tudo que esteja antes do " - " para gravar na base de dados em um caso em que o o campo CID_COD é chave estrangeira.

Cordialmente;

Fonte: http://www.drdobbs.com/java/225700076

Sim,

supondo que “2 - Medianeira PR” seja a sua String, você pode fazer isso e vai pegar só o número 2:

suaString.split("\\-")[0].trim();

Agora, só uma sugestão: Eu particularmente não conheço esses objetos do Composer, mas não seria legal você trazer os valores do banco de dados, modelar em objetos e trabalhar no objetos JavaFX?

Seu código ficaria bem mais limpo e fácil de manter :slight_smile:

[]'s

Pode ser que sim. Mas eu não faço idéia e como fazer isso. :slight_smile: Estou apredendo JavaFx sem entender muito de Java.
Estou lendo o que encontra na net e tentando colocar em prática para desenvolver uma aplicação CRUD em JavaFx.
Se você puder me postar um link sobre o tema, eu agradeço.

Cordialmente;

Para completar, lim um artigo em javafree.uol.com.br (acho que é seu) sobre criar uma lista de carros em javaFx. Fiz aqui e blz. Tentei fazer o mesmo processo para conexão com a base mas me perdi pelo meio. :slight_smile:
Seria isso a questão da modelagem que você fala?

Cordialmente;

Fala Claupers,

Aquele artigo do JavaFree foi para começar uma séries falando de objetos Java X Objetos JavaFX, mas depois percebi que o pessoal do JFXtras está trabalhando em uma solução de sincronismo de objetos Java e a UserInterface e resolvi parar.

A idéia é trazer os elementos do banco de dados, modelar em objetos JavaFX, por exemplo:
(mais ou menos como seria em seu caso)

public class Cidade{
    public var cod:Integer;
    public var nome:String;
    public var UF:String;
}

Depois você faz a sua consulta e coloca em uma sequence de Cidades:

var cidades:Cidade[] = 
                for(record in jdbcDsCidade.getRecordSet().all())
                    Cidade{
                        cod: record.get("CID_COD")
                        nome: record.get("CID_NOME")
                        UF: record.get("CID_UF")
                }

Então você trabalharia nessa sequence de cidades.
No entanto, acho que isso seria mais uma opinião pessoal, JavaFX é voltado para GUI, não acredito que no JavaFX Composer eles iriam fazer algo que comprometesse a performance.

Obrigado Jesuino. Agora entendi um pouco mais sobre o assunto.

Cordialmente;