Я пытаюсь загрузить компонент Tableview из списка объектов, в моем случае объектов клиента. Клиентский объект содержит Адрес Объект и наоборот. Клиент и адресный объект определяются следующим образом;Java FX 8 - Объекты отображения таблицы в объектах
public class Client{
private String firstName;
private String lastName;
private String emailAddress;
private String phoneNumber;
private Address clientsAddress;
public Client(){
//blah blah
}
//getters
...
//setters
...
}
public class Address{
//address lines + county
private String a1;
private String a2;
private String a3;
private String county;
private Client client;
public Address(){
//blah blah
}
//getters
...
//setters
...
}
я могу получить поля Клиента появляться в виде таблицы, отображающей имя поля внутри клиентского объекта к колонке.
final TableView<Client> tableView = new TableView<>();
final TableColumn firstNameCol = new TableColumn("First Name");
final TableColumn lastNameCol = new TableColumn("Last Name");
final TableColumn emailCol = new TableColumn("Email Address");
final TableColumn addressCol1 = new TableColumn("Address Line 1");
final TableColumn addressCol2 = new TableColumn("Address Line 2");
firstNameCol.setMinWidth(90);
firstNameCol.setMaxWidth(110);
firstNameCol.setCellValueFactory(new PropertyValueFactory<>("firstName"));
lastNameCol.setMinWidth(90);
lastNameCol.setMaxWidth(110);
lastNameCol.setCellValueFactory(new PropertyValueFactory<>("lastName"));
emailCol.setMinWidth(100);
emailCol.setMaxWidth(210);
emailCol.setCellValueFactory(new PropertyValueFactory<>("emailAddress"));
//Don't know how to access the Address Object inside Client Object in Next two parts
addressColumn1.setMinWidth(100);
addressColumn1.setMaxWidth(200);
addressColumn1.setCellValueFactory(new PropertyValueFactory<>(""));
adddessColumn2.setMinWidth(100);
addressColumn2.setMaxWidth(200);
addressColumn2.setCellValueFactory(new PropertyValueFactory<>(""));
tableView.getColumns().addAll(firstNameCol, lastNameCol, emailCol, addressColumn1, addressColumn2);
Моя проблема в том, однако, есть ли способ доступа к объекту адреса внутри объекта клиента, или какой-либо способ отображения имени поля в адрес объекта в столбце таблицы. Любая помощь будет оценена, спасибо.
afaik, нет встроенной поддержки путей привязки - вам необходимо реализовать пользовательское значениеFactory. – kleopatra