ola pessoal, tenho uma dúvida concernente a mostrar os dados a uma obvableList do javaFX.
Eu até ja consegui fazer isso, mas o problema é quando se trata de mostrar as informações dos atributos
de um objecto que estam dentro de outro objecto. é isso mesmo, falo de composição.
Eu tenho uma Classe Cliente, e dentro de Cliente eu tenho Pessoa. E eu quero mostrar todas os campos de pessoa
mas passando antes pelo cliente. Eis aí os modelos
public class ClienteModelo {
private int codigo;
private PessoaModelo pessoa;
private String contaCorrente;
// setters e getters
}
public class PessoaModelo {
private int codigo;
private String nome;
private String telefone;
private String email;
private String dataNascimento;
private String dataCadastro;
private String sexo;
private int codigoEStado;
private String nif;
private String numeroContribuente;
private String endereco;
//setters e getters
}
//No controller do javaFx, eu estou fazendo o seguinte
private ObservableList<ClienteModelo> observableListClient;
public void carregarTableViewClientes()
{
colunaCodigo.setCellValueFactory(new PropertyValueFactory<>("codigo"));
colunaNome.setCellValueFactory(new PropertyValueFactory<>("pessoa.nome"));
colunaSexo.setCellValueFactory(new PropertyValueFactory<>("sexo"));
colunaDataNascimento.setCellValueFactory(new PropertyValueFactory<>("dataNascimento"));
colunaTelefone.setCellValueFactory(new PropertyValueFactory<>("telefone"));
colunaEmail.setCellValueFactory(new PropertyValueFactory<>("email"));
colunaEndereco.setCellValueFactory(new PropertyValueFactory<>("endereco"));
colunaContaCorrente.setCellValueFactory(new PropertyValueFactory<>("contaCorrente"));
List<ClienteModelo> lista = new ArrayList<>();
PessoaModelo p = new PessoaModelo("nom", "tel", "email", "data nasc", "data cadas", "sexo", 1, "nif", "n contrib", "endereco");
ClienteModelo cl = new ClienteModelo(p, "34344");
lista.add( cl );
observableListClient = FXCollections.observableArrayList(lista);
tabelaClientes.setItems( observableListClient );
}
O problema começa aqui, eu consigo mostrar apenas o atributo conta corrente na TableView, porque está na classe Cliente,
mas se eu tentar mostrar o nome e outros atributos da classe pessoa, aí eu ja não consigo vizualizar nada.